@orchestr-sh/orchestr 1.0.1
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/LICENSE +21 -0
- package/README.md +344 -0
- package/dist/Container/Container.d.ts +90 -0
- package/dist/Container/Container.d.ts.map +1 -0
- package/dist/Container/Container.js +193 -0
- package/dist/Container/Container.js.map +1 -0
- package/dist/Facades/Route.d.ts +20 -0
- package/dist/Facades/Route.d.ts.map +1 -0
- package/dist/Facades/Route.js +50 -0
- package/dist/Facades/Route.js.map +1 -0
- package/dist/Foundation/Application.d.ts +97 -0
- package/dist/Foundation/Application.d.ts.map +1 -0
- package/dist/Foundation/Application.js +184 -0
- package/dist/Foundation/Application.js.map +1 -0
- package/dist/Foundation/Http/Kernel.d.ts +50 -0
- package/dist/Foundation/Http/Kernel.d.ts.map +1 -0
- package/dist/Foundation/Http/Kernel.js +122 -0
- package/dist/Foundation/Http/Kernel.js.map +1 -0
- package/dist/Foundation/ServiceProvider.d.ts +24 -0
- package/dist/Foundation/ServiceProvider.d.ts.map +1 -0
- package/dist/Foundation/ServiceProvider.js +15 -0
- package/dist/Foundation/ServiceProvider.js.map +1 -0
- package/dist/Providers/RouteServiceProvider.d.ts +9 -0
- package/dist/Providers/RouteServiceProvider.d.ts.map +1 -0
- package/dist/Providers/RouteServiceProvider.js +22 -0
- package/dist/Providers/RouteServiceProvider.js.map +1 -0
- package/dist/Routing/Controller.d.ts +17 -0
- package/dist/Routing/Controller.d.ts.map +1 -0
- package/dist/Routing/Controller.js +26 -0
- package/dist/Routing/Controller.js.map +1 -0
- package/dist/Routing/Request.d.ts +109 -0
- package/dist/Routing/Request.d.ts.map +1 -0
- package/dist/Routing/Request.js +212 -0
- package/dist/Routing/Request.js.map +1 -0
- package/dist/Routing/Response.d.ts +78 -0
- package/dist/Routing/Response.d.ts.map +1 -0
- package/dist/Routing/Response.js +174 -0
- package/dist/Routing/Response.js.map +1 -0
- package/dist/Routing/Route.d.ts +51 -0
- package/dist/Routing/Route.d.ts.map +1 -0
- package/dist/Routing/Route.js +94 -0
- package/dist/Routing/Route.js.map +1 -0
- package/dist/Routing/Router.d.ts +114 -0
- package/dist/Routing/Router.d.ts.map +1 -0
- package/dist/Routing/Router.js +216 -0
- package/dist/Routing/Router.js.map +1 -0
- package/dist/Support/Facade.d.ts +44 -0
- package/dist/Support/Facade.d.ts.map +1 -0
- package/dist/Support/Facade.js +101 -0
- package/dist/Support/Facade.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Route = void 0;
|
|
4
|
+
const Facade_1 = require("../Support/Facade");
|
|
5
|
+
/**
|
|
6
|
+
* Route Facade - Static access to the Router
|
|
7
|
+
* Usage: Route.get('/path', handler)
|
|
8
|
+
*/
|
|
9
|
+
class RouteFacade extends Facade_1.Facade {
|
|
10
|
+
static getFacadeAccessor() {
|
|
11
|
+
return 'router';
|
|
12
|
+
}
|
|
13
|
+
static get;
|
|
14
|
+
static post;
|
|
15
|
+
static put;
|
|
16
|
+
static patch;
|
|
17
|
+
static delete;
|
|
18
|
+
static any;
|
|
19
|
+
static match;
|
|
20
|
+
static group;
|
|
21
|
+
}
|
|
22
|
+
// Create proxy to enable static method calls
|
|
23
|
+
exports.Route = new Proxy(RouteFacade, {
|
|
24
|
+
get(target, prop) {
|
|
25
|
+
// First try to get from the facade root (the actual Router instance)
|
|
26
|
+
try {
|
|
27
|
+
const root = target.getFacadeRoot();
|
|
28
|
+
if (root && prop in root) {
|
|
29
|
+
const value = root[prop];
|
|
30
|
+
if (typeof value === 'function') {
|
|
31
|
+
return (...args) => value.apply(root, args);
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// Facade root not available yet, fall through
|
|
38
|
+
}
|
|
39
|
+
// Fall back to static properties/methods of the Facade class itself
|
|
40
|
+
if (typeof prop === 'string' && prop in target) {
|
|
41
|
+
const value = target[prop];
|
|
42
|
+
if (typeof value === 'function') {
|
|
43
|
+
return value.bind(target);
|
|
44
|
+
}
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=Route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/Facades/Route.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAG3C;;;GAGG;AACH,MAAM,WAAY,SAAQ,eAAM;IACpB,MAAM,CAAC,iBAAiB;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,GAAG,CAAgB;IAC1B,MAAM,CAAC,IAAI,CAAiB;IAC5B,MAAM,CAAC,GAAG,CAAgB;IAC1B,MAAM,CAAC,KAAK,CAAkB;IAC9B,MAAM,CAAC,MAAM,CAAmB;IAChC,MAAM,CAAC,GAAG,CAAgB;IAC1B,MAAM,CAAC,KAAK,CAAkB;IAC9B,MAAM,CAAC,KAAK,CAAkB;CAC/B;AAED,6CAA6C;AAChC,QAAA,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE;IAC1C,GAAG,CAAC,MAAM,EAAE,IAAI;QACd,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,MAAc,CAAC,aAAa,EAAE,CAAC;YAC7C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8CAA8C;QAChD,CAAC;QAED,oEAAoE;QACpE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAI,MAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAA2C,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Container } from '../Container/Container';
|
|
2
|
+
import { ServiceProvider } from './ServiceProvider';
|
|
3
|
+
/**
|
|
4
|
+
* Application class - Laravel's Illuminate\Foundation\Application
|
|
5
|
+
* The heart of the framework, bootstraps everything
|
|
6
|
+
*/
|
|
7
|
+
export declare class Application extends Container {
|
|
8
|
+
private basePath;
|
|
9
|
+
private booted;
|
|
10
|
+
private serviceProviders;
|
|
11
|
+
private loadedProviders;
|
|
12
|
+
constructor(basePath?: string);
|
|
13
|
+
/**
|
|
14
|
+
* Register the basic bindings into the container
|
|
15
|
+
*/
|
|
16
|
+
private registerBaseBindings;
|
|
17
|
+
/**
|
|
18
|
+
* Register core container aliases
|
|
19
|
+
*/
|
|
20
|
+
private registerCoreContainerAliases;
|
|
21
|
+
/**
|
|
22
|
+
* Get the base path of the application
|
|
23
|
+
*/
|
|
24
|
+
getBasePath(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Set the base path for the application
|
|
27
|
+
*/
|
|
28
|
+
setBasePath(basePath: string): this;
|
|
29
|
+
/**
|
|
30
|
+
* Get the path to various application directories
|
|
31
|
+
*/
|
|
32
|
+
path(path?: string): string;
|
|
33
|
+
configPath(path?: string): string;
|
|
34
|
+
databasePath(path?: string): string;
|
|
35
|
+
storagePath(path?: string): string;
|
|
36
|
+
publicPath(path?: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Register a service provider with the application
|
|
39
|
+
* Laravel: $app->register(provider)
|
|
40
|
+
*/
|
|
41
|
+
register(provider: ServiceProvider | (new (app: Application) => ServiceProvider)): ServiceProvider;
|
|
42
|
+
/**
|
|
43
|
+
* Register multiple service providers
|
|
44
|
+
*/
|
|
45
|
+
registerProviders(providers: Array<ServiceProvider | (new (app: Application) => ServiceProvider)>): void;
|
|
46
|
+
/**
|
|
47
|
+
* Boot the application's service providers
|
|
48
|
+
*/
|
|
49
|
+
boot(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Boot the given service provider
|
|
52
|
+
*/
|
|
53
|
+
private bootProvider;
|
|
54
|
+
/**
|
|
55
|
+
* Determine if the application has booted
|
|
56
|
+
*/
|
|
57
|
+
isBooted(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Register a terminating callback
|
|
60
|
+
* Laravel: $app->terminating(callback)
|
|
61
|
+
*/
|
|
62
|
+
private terminatingCallbacks;
|
|
63
|
+
terminating(callback: () => void): void;
|
|
64
|
+
/**
|
|
65
|
+
* Terminate the application
|
|
66
|
+
*/
|
|
67
|
+
terminate(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Get the version number of the application
|
|
70
|
+
*/
|
|
71
|
+
version(): string;
|
|
72
|
+
/**
|
|
73
|
+
* Determine if the application is running in the console
|
|
74
|
+
*/
|
|
75
|
+
runningInConsole(): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Get the environment file the application is using
|
|
78
|
+
*/
|
|
79
|
+
environmentFile(): string;
|
|
80
|
+
/**
|
|
81
|
+
* Get the environment the application is running in
|
|
82
|
+
*/
|
|
83
|
+
environment(): string;
|
|
84
|
+
/**
|
|
85
|
+
* Determine if the application is in debug mode
|
|
86
|
+
*/
|
|
87
|
+
isDebug(): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Get the service providers that have been loaded
|
|
90
|
+
*/
|
|
91
|
+
getProviders(): ServiceProvider[];
|
|
92
|
+
/**
|
|
93
|
+
* Determine if the application has been bootstrapped before
|
|
94
|
+
*/
|
|
95
|
+
hasBeenBootstrapped(): boolean;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=Application.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/Foundation/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAmC;gBAE9C,QAAQ,GAAE,MAAsB;IAO5C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAYpC;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnC;;OAEG;IACH,IAAI,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM;IAI/B,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM;IAIrC,YAAY,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM;IAIvC,WAAW,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM;IAItC,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM;IAIrC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,CAAC,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAC,GAAG,eAAe;IA0BlG;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAC,CAAC,GAAG,IAAI;IAIxG;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAyB;IAErD,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIvC;;OAEG;IACH,SAAS,IAAI,IAAI;IAIjB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,YAAY,IAAI,eAAe,EAAE;IAIjC;;OAEG;IACH,mBAAmB,IAAI,OAAO;CAG/B"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Application = void 0;
|
|
4
|
+
const Container_1 = require("../Container/Container");
|
|
5
|
+
/**
|
|
6
|
+
* Application class - Laravel's Illuminate\Foundation\Application
|
|
7
|
+
* The heart of the framework, bootstraps everything
|
|
8
|
+
*/
|
|
9
|
+
class Application extends Container_1.Container {
|
|
10
|
+
basePath;
|
|
11
|
+
booted = false;
|
|
12
|
+
serviceProviders = [];
|
|
13
|
+
loadedProviders = new Map();
|
|
14
|
+
constructor(basePath = process.cwd()) {
|
|
15
|
+
super();
|
|
16
|
+
this.basePath = basePath;
|
|
17
|
+
this.registerBaseBindings();
|
|
18
|
+
this.registerCoreContainerAliases();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Register the basic bindings into the container
|
|
22
|
+
*/
|
|
23
|
+
registerBaseBindings() {
|
|
24
|
+
this.instance('app', this);
|
|
25
|
+
this.instance(Application, this);
|
|
26
|
+
this.instance(Container_1.Container, this);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Register core container aliases
|
|
30
|
+
*/
|
|
31
|
+
registerCoreContainerAliases() {
|
|
32
|
+
const aliases = {
|
|
33
|
+
'app': ['Application'],
|
|
34
|
+
};
|
|
35
|
+
for (const [key, aliasList] of Object.entries(aliases)) {
|
|
36
|
+
for (const alias of aliasList) {
|
|
37
|
+
this.alias(key, alias);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get the base path of the application
|
|
43
|
+
*/
|
|
44
|
+
getBasePath() {
|
|
45
|
+
return this.basePath;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Set the base path for the application
|
|
49
|
+
*/
|
|
50
|
+
setBasePath(basePath) {
|
|
51
|
+
this.basePath = basePath;
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get the path to various application directories
|
|
56
|
+
*/
|
|
57
|
+
path(path = '') {
|
|
58
|
+
return `${this.basePath}/app${path ? '/' + path : ''}`;
|
|
59
|
+
}
|
|
60
|
+
configPath(path = '') {
|
|
61
|
+
return `${this.basePath}/config${path ? '/' + path : ''}`;
|
|
62
|
+
}
|
|
63
|
+
databasePath(path = '') {
|
|
64
|
+
return `${this.basePath}/database${path ? '/' + path : ''}`;
|
|
65
|
+
}
|
|
66
|
+
storagePath(path = '') {
|
|
67
|
+
return `${this.basePath}/storage${path ? '/' + path : ''}`;
|
|
68
|
+
}
|
|
69
|
+
publicPath(path = '') {
|
|
70
|
+
return `${this.basePath}/public${path ? '/' + path : ''}`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Register a service provider with the application
|
|
74
|
+
* Laravel: $app->register(provider)
|
|
75
|
+
*/
|
|
76
|
+
register(provider) {
|
|
77
|
+
// If provider is a class, instantiate it
|
|
78
|
+
if (typeof provider === 'function') {
|
|
79
|
+
provider = new provider(this);
|
|
80
|
+
}
|
|
81
|
+
// Check if already registered
|
|
82
|
+
const providerName = provider.constructor.name;
|
|
83
|
+
if (this.loadedProviders.has(providerName)) {
|
|
84
|
+
return provider;
|
|
85
|
+
}
|
|
86
|
+
// Call the provider's register method
|
|
87
|
+
provider.register();
|
|
88
|
+
this.serviceProviders.push(provider);
|
|
89
|
+
this.loadedProviders.set(providerName, true);
|
|
90
|
+
// If the application has already booted, boot the provider
|
|
91
|
+
if (this.booted) {
|
|
92
|
+
this.bootProvider(provider);
|
|
93
|
+
}
|
|
94
|
+
return provider;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Register multiple service providers
|
|
98
|
+
*/
|
|
99
|
+
registerProviders(providers) {
|
|
100
|
+
providers.forEach(provider => this.register(provider));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Boot the application's service providers
|
|
104
|
+
*/
|
|
105
|
+
boot() {
|
|
106
|
+
if (this.booted) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this.serviceProviders.forEach(provider => this.bootProvider(provider));
|
|
110
|
+
this.booted = true;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Boot the given service provider
|
|
114
|
+
*/
|
|
115
|
+
bootProvider(provider) {
|
|
116
|
+
if (typeof provider.boot === 'function') {
|
|
117
|
+
this.call(provider.boot.bind(provider));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Determine if the application has booted
|
|
122
|
+
*/
|
|
123
|
+
isBooted() {
|
|
124
|
+
return this.booted;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Register a terminating callback
|
|
128
|
+
* Laravel: $app->terminating(callback)
|
|
129
|
+
*/
|
|
130
|
+
terminatingCallbacks = [];
|
|
131
|
+
terminating(callback) {
|
|
132
|
+
this.terminatingCallbacks.push(callback);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Terminate the application
|
|
136
|
+
*/
|
|
137
|
+
terminate() {
|
|
138
|
+
this.terminatingCallbacks.forEach(callback => callback());
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the version number of the application
|
|
142
|
+
*/
|
|
143
|
+
version() {
|
|
144
|
+
return '0.1.0';
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Determine if the application is running in the console
|
|
148
|
+
*/
|
|
149
|
+
runningInConsole() {
|
|
150
|
+
return process.argv[1] !== undefined;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get the environment file the application is using
|
|
154
|
+
*/
|
|
155
|
+
environmentFile() {
|
|
156
|
+
return '.env';
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get the environment the application is running in
|
|
160
|
+
*/
|
|
161
|
+
environment() {
|
|
162
|
+
return process.env.NODE_ENV || 'production';
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Determine if the application is in debug mode
|
|
166
|
+
*/
|
|
167
|
+
isDebug() {
|
|
168
|
+
return process.env.DEBUG === 'true';
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get the service providers that have been loaded
|
|
172
|
+
*/
|
|
173
|
+
getProviders() {
|
|
174
|
+
return this.serviceProviders;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Determine if the application has been bootstrapped before
|
|
178
|
+
*/
|
|
179
|
+
hasBeenBootstrapped() {
|
|
180
|
+
return this.booted;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
exports.Application = Application;
|
|
184
|
+
//# sourceMappingURL=Application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/Foundation/Application.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { IncomingMessage, ServerResponse, Server } from 'http';
|
|
2
|
+
import { Application } from '../Application';
|
|
3
|
+
import { Router } from '../../Routing/Router';
|
|
4
|
+
import { Middleware } from '../../Routing/Route';
|
|
5
|
+
/**
|
|
6
|
+
* HTTP Kernel - Handles incoming HTTP requests
|
|
7
|
+
* Laravel's Illuminate\Foundation\Http\Kernel
|
|
8
|
+
*/
|
|
9
|
+
export declare class Kernel {
|
|
10
|
+
protected app: Application;
|
|
11
|
+
protected router: Router;
|
|
12
|
+
protected middleware: Middleware[];
|
|
13
|
+
protected server?: Server;
|
|
14
|
+
constructor(app: Application);
|
|
15
|
+
/**
|
|
16
|
+
* Handle an incoming HTTP request
|
|
17
|
+
* Laravel: $kernel->handle($request)
|
|
18
|
+
*/
|
|
19
|
+
handle(req: IncomingMessage, res: ServerResponse): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Send the request through the router
|
|
22
|
+
*/
|
|
23
|
+
private sendRequestThroughRouter;
|
|
24
|
+
/**
|
|
25
|
+
* Run global middleware
|
|
26
|
+
*/
|
|
27
|
+
private runMiddleware;
|
|
28
|
+
/**
|
|
29
|
+
* Handle an exception
|
|
30
|
+
*/
|
|
31
|
+
private handleException;
|
|
32
|
+
/**
|
|
33
|
+
* Add global middleware
|
|
34
|
+
*/
|
|
35
|
+
use(middleware: Middleware): this;
|
|
36
|
+
/**
|
|
37
|
+
* Start the HTTP server
|
|
38
|
+
* Laravel equivalent: php artisan serve
|
|
39
|
+
*/
|
|
40
|
+
listen(port?: number, host?: string, callback?: () => void): Server;
|
|
41
|
+
/**
|
|
42
|
+
* Stop the HTTP server
|
|
43
|
+
*/
|
|
44
|
+
close(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Get the application instance
|
|
47
|
+
*/
|
|
48
|
+
getApplication(): Application;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=Kernel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../../src/Foundation/Http/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAgB,MAAM,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,qBAAa,MAAM;IACjB,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACxC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEd,GAAG,EAAE,WAAW;IAK5B;;;OAGG;IACG,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtE;;OAEG;YACW,wBAAwB;IAMtC;;OAEG;YACW,aAAa;IAoB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACI,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKxC;;;OAGG;IACI,MAAM,CAAC,IAAI,GAAE,MAAa,EAAE,IAAI,GAAE,MAAoB,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM;IAa7F;;OAEG;IACI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa7B;;OAEG;IACI,cAAc,IAAI,WAAW;CAGrC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Kernel = void 0;
|
|
4
|
+
const http_1 = require("http");
|
|
5
|
+
const Request_1 = require("../../Routing/Request");
|
|
6
|
+
const Response_1 = require("../../Routing/Response");
|
|
7
|
+
/**
|
|
8
|
+
* HTTP Kernel - Handles incoming HTTP requests
|
|
9
|
+
* Laravel's Illuminate\Foundation\Http\Kernel
|
|
10
|
+
*/
|
|
11
|
+
class Kernel {
|
|
12
|
+
app;
|
|
13
|
+
router;
|
|
14
|
+
middleware = [];
|
|
15
|
+
server;
|
|
16
|
+
constructor(app) {
|
|
17
|
+
this.app = app;
|
|
18
|
+
this.router = app.make('router');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Handle an incoming HTTP request
|
|
22
|
+
* Laravel: $kernel->handle($request)
|
|
23
|
+
*/
|
|
24
|
+
async handle(req, res) {
|
|
25
|
+
const request = new Request_1.Request(req);
|
|
26
|
+
const response = new Response_1.Response(res);
|
|
27
|
+
try {
|
|
28
|
+
// Parse request body
|
|
29
|
+
if (['POST', 'PUT', 'PATCH'].includes(request.method)) {
|
|
30
|
+
await request.parseBody();
|
|
31
|
+
}
|
|
32
|
+
// Run global middleware then dispatch to router
|
|
33
|
+
await this.sendRequestThroughRouter(request, response);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
this.handleException(error, response);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Send the request through the router
|
|
41
|
+
*/
|
|
42
|
+
async sendRequestThroughRouter(request, response) {
|
|
43
|
+
await this.runMiddleware(request, response, async () => {
|
|
44
|
+
await this.router.dispatch(request, response);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Run global middleware
|
|
49
|
+
*/
|
|
50
|
+
async runMiddleware(request, response, finalHandler) {
|
|
51
|
+
const middleware = [...this.middleware];
|
|
52
|
+
const runNext = async (index) => {
|
|
53
|
+
if (index >= middleware.length) {
|
|
54
|
+
await finalHandler();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const currentMiddleware = middleware[index];
|
|
58
|
+
await currentMiddleware(request, response, () => runNext(index + 1));
|
|
59
|
+
};
|
|
60
|
+
await runNext(0);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Handle an exception
|
|
64
|
+
*/
|
|
65
|
+
handleException(error, response) {
|
|
66
|
+
console.error('Error handling request:', error);
|
|
67
|
+
if (!response.finished) {
|
|
68
|
+
response.status(500).json({
|
|
69
|
+
message: error instanceof Error ? error.message : 'Internal Server Error',
|
|
70
|
+
...(this.app.isDebug() && { stack: error instanceof Error ? error.stack : undefined })
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Add global middleware
|
|
76
|
+
*/
|
|
77
|
+
use(middleware) {
|
|
78
|
+
this.middleware.push(middleware);
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Start the HTTP server
|
|
83
|
+
* Laravel equivalent: php artisan serve
|
|
84
|
+
*/
|
|
85
|
+
listen(port = 3000, host = 'localhost', callback) {
|
|
86
|
+
this.server = (0, http_1.createServer)((req, res) => {
|
|
87
|
+
this.handle(req, res);
|
|
88
|
+
});
|
|
89
|
+
this.server.listen(port, host, () => {
|
|
90
|
+
console.log(`Server running at http://${host}:${port}/`);
|
|
91
|
+
if (callback)
|
|
92
|
+
callback();
|
|
93
|
+
});
|
|
94
|
+
return this.server;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Stop the HTTP server
|
|
98
|
+
*/
|
|
99
|
+
close() {
|
|
100
|
+
return new Promise((resolve, reject) => {
|
|
101
|
+
if (this.server) {
|
|
102
|
+
this.server.close((err) => {
|
|
103
|
+
if (err)
|
|
104
|
+
reject(err);
|
|
105
|
+
else
|
|
106
|
+
resolve();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
resolve();
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get the application instance
|
|
116
|
+
*/
|
|
117
|
+
getApplication() {
|
|
118
|
+
return this.app;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.Kernel = Kernel;
|
|
122
|
+
//# sourceMappingURL=Kernel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../../src/Foundation/Http/Kernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Application } from './Application';
|
|
2
|
+
/**
|
|
3
|
+
* ServiceProvider - Laravel's Service Provider base class
|
|
4
|
+
* Used to register and bootstrap application services
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class ServiceProvider {
|
|
7
|
+
protected app: Application;
|
|
8
|
+
constructor(app: Application);
|
|
9
|
+
/**
|
|
10
|
+
* Register any application services
|
|
11
|
+
* This is where you bind things into the container
|
|
12
|
+
*/
|
|
13
|
+
abstract register(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Bootstrap any application services
|
|
16
|
+
* This runs after all providers have been registered
|
|
17
|
+
*/
|
|
18
|
+
boot?(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Get the services provided by the provider
|
|
21
|
+
*/
|
|
22
|
+
provides?(): string[];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceProvider.d.ts","sourceRoot":"","sources":["../../src/Foundation/ServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC;gBAEf,GAAG,EAAE,WAAW;IAI5B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,IAAI;IAEzB;;;OAGG;IACH,IAAI,CAAC,IAAI,IAAI;IAEb;;OAEG;IACH,QAAQ,CAAC,IAAI,MAAM,EAAE;CACtB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServiceProvider = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* ServiceProvider - Laravel's Service Provider base class
|
|
6
|
+
* Used to register and bootstrap application services
|
|
7
|
+
*/
|
|
8
|
+
class ServiceProvider {
|
|
9
|
+
app;
|
|
10
|
+
constructor(app) {
|
|
11
|
+
this.app = app;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.ServiceProvider = ServiceProvider;
|
|
15
|
+
//# sourceMappingURL=ServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceProvider.js","sourceRoot":"","sources":["../../src/Foundation/ServiceProvider.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAsB,eAAe;IACzB,GAAG,CAAc;IAE3B,YAAY,GAAgB;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CAkBF;AAvBD,0CAuBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ServiceProvider } from '../Foundation/ServiceProvider';
|
|
2
|
+
/**
|
|
3
|
+
* RouteServiceProvider - Registers the router in the container
|
|
4
|
+
*/
|
|
5
|
+
export declare class RouteServiceProvider extends ServiceProvider {
|
|
6
|
+
register(): void;
|
|
7
|
+
boot(): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=RouteServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouteServiceProvider.d.ts","sourceRoot":"","sources":["../../src/Providers/RouteServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,QAAQ,IAAI,IAAI;IAQhB,IAAI,IAAI,IAAI;CAGb"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RouteServiceProvider = void 0;
|
|
4
|
+
const ServiceProvider_1 = require("../Foundation/ServiceProvider");
|
|
5
|
+
const Router_1 = require("../Routing/Router");
|
|
6
|
+
const Facade_1 = require("../Support/Facade");
|
|
7
|
+
/**
|
|
8
|
+
* RouteServiceProvider - Registers the router in the container
|
|
9
|
+
*/
|
|
10
|
+
class RouteServiceProvider extends ServiceProvider_1.ServiceProvider {
|
|
11
|
+
register() {
|
|
12
|
+
// Set up facade application first
|
|
13
|
+
Facade_1.Facade.setFacadeApplication(this.app);
|
|
14
|
+
// Then register the router
|
|
15
|
+
this.app.singleton('router', () => new Router_1.Router(this.app));
|
|
16
|
+
}
|
|
17
|
+
boot() {
|
|
18
|
+
// Boot logic
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.RouteServiceProvider = RouteServiceProvider;
|
|
22
|
+
//# sourceMappingURL=RouteServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouteServiceProvider.js","sourceRoot":"","sources":["../../src/Providers/RouteServiceProvider.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAChE,8CAA2C;AAC3C,8CAA2C;AAE3C;;GAEG;AACH,MAAa,oBAAqB,SAAQ,iCAAe;IACvD,QAAQ;QACN,kCAAkC;QAClC,eAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtC,2BAA2B;QAC3B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI;QACF,aAAa;IACf,CAAC;CACF;AAZD,oDAYC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Request } from './Request';
|
|
2
|
+
/**
|
|
3
|
+
* Controller - Laravel's base controller
|
|
4
|
+
* Illuminate\Routing\Controller
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class Controller {
|
|
7
|
+
/**
|
|
8
|
+
* Validate the given request with the given rules
|
|
9
|
+
* Laravel: $this->validate($request, $rules)
|
|
10
|
+
*/
|
|
11
|
+
protected validate(request: Request, rules: Record<string, any>): Promise<Record<string, any>>;
|
|
12
|
+
/**
|
|
13
|
+
* Execute an action on the controller
|
|
14
|
+
*/
|
|
15
|
+
callAction(method: string, parameters: any[]): any;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=Controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../src/Routing/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;GAGG;AACH,8BAAsB,UAAU;IAC9B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAM9F;;OAEG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG;CAG1D"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Controller = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Controller - Laravel's base controller
|
|
6
|
+
* Illuminate\Routing\Controller
|
|
7
|
+
*/
|
|
8
|
+
class Controller {
|
|
9
|
+
/**
|
|
10
|
+
* Validate the given request with the given rules
|
|
11
|
+
* Laravel: $this->validate($request, $rules)
|
|
12
|
+
*/
|
|
13
|
+
validate(request, rules) {
|
|
14
|
+
// Validation implementation would go here
|
|
15
|
+
// For now, just return the data
|
|
16
|
+
return Promise.resolve(request.all());
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Execute an action on the controller
|
|
20
|
+
*/
|
|
21
|
+
callAction(method, parameters) {
|
|
22
|
+
return this[method](...parameters);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Controller = Controller;
|
|
26
|
+
//# sourceMappingURL=Controller.js.map
|