@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.
Files changed (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +344 -0
  3. package/dist/Container/Container.d.ts +90 -0
  4. package/dist/Container/Container.d.ts.map +1 -0
  5. package/dist/Container/Container.js +193 -0
  6. package/dist/Container/Container.js.map +1 -0
  7. package/dist/Facades/Route.d.ts +20 -0
  8. package/dist/Facades/Route.d.ts.map +1 -0
  9. package/dist/Facades/Route.js +50 -0
  10. package/dist/Facades/Route.js.map +1 -0
  11. package/dist/Foundation/Application.d.ts +97 -0
  12. package/dist/Foundation/Application.d.ts.map +1 -0
  13. package/dist/Foundation/Application.js +184 -0
  14. package/dist/Foundation/Application.js.map +1 -0
  15. package/dist/Foundation/Http/Kernel.d.ts +50 -0
  16. package/dist/Foundation/Http/Kernel.d.ts.map +1 -0
  17. package/dist/Foundation/Http/Kernel.js +122 -0
  18. package/dist/Foundation/Http/Kernel.js.map +1 -0
  19. package/dist/Foundation/ServiceProvider.d.ts +24 -0
  20. package/dist/Foundation/ServiceProvider.d.ts.map +1 -0
  21. package/dist/Foundation/ServiceProvider.js +15 -0
  22. package/dist/Foundation/ServiceProvider.js.map +1 -0
  23. package/dist/Providers/RouteServiceProvider.d.ts +9 -0
  24. package/dist/Providers/RouteServiceProvider.d.ts.map +1 -0
  25. package/dist/Providers/RouteServiceProvider.js +22 -0
  26. package/dist/Providers/RouteServiceProvider.js.map +1 -0
  27. package/dist/Routing/Controller.d.ts +17 -0
  28. package/dist/Routing/Controller.d.ts.map +1 -0
  29. package/dist/Routing/Controller.js +26 -0
  30. package/dist/Routing/Controller.js.map +1 -0
  31. package/dist/Routing/Request.d.ts +109 -0
  32. package/dist/Routing/Request.d.ts.map +1 -0
  33. package/dist/Routing/Request.js +212 -0
  34. package/dist/Routing/Request.js.map +1 -0
  35. package/dist/Routing/Response.d.ts +78 -0
  36. package/dist/Routing/Response.d.ts.map +1 -0
  37. package/dist/Routing/Response.js +174 -0
  38. package/dist/Routing/Response.js.map +1 -0
  39. package/dist/Routing/Route.d.ts +51 -0
  40. package/dist/Routing/Route.d.ts.map +1 -0
  41. package/dist/Routing/Route.js +94 -0
  42. package/dist/Routing/Route.js.map +1 -0
  43. package/dist/Routing/Router.d.ts +114 -0
  44. package/dist/Routing/Router.d.ts.map +1 -0
  45. package/dist/Routing/Router.js +216 -0
  46. package/dist/Routing/Router.js.map +1 -0
  47. package/dist/Support/Facade.d.ts +44 -0
  48. package/dist/Support/Facade.d.ts.map +1 -0
  49. package/dist/Support/Facade.js +101 -0
  50. package/dist/Support/Facade.js.map +1 -0
  51. package/dist/index.d.ts +20 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +37 -0
  54. package/dist/index.js.map +1 -0
  55. package/package.json +57 -0
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Route = void 0;
4
+ /**
5
+ * Route - Represents a single route in the application
6
+ * Laravel's Illuminate\Routing\Route
7
+ */
8
+ class Route {
9
+ uri;
10
+ methods;
11
+ action;
12
+ middleware = [];
13
+ name;
14
+ parameters = {};
15
+ compiled;
16
+ parameterNames = [];
17
+ constructor(methods, uri, action) {
18
+ this.methods = Array.isArray(methods) ? methods : [methods];
19
+ this.uri = uri;
20
+ this.action = action;
21
+ this.compileRoute();
22
+ }
23
+ /**
24
+ * Compile the route pattern into a regex
25
+ */
26
+ compileRoute() {
27
+ // Extract parameter names from the URI
28
+ const paramPattern = /:([a-zA-Z_][a-zA-Z0-9_]*)/g;
29
+ let match;
30
+ while ((match = paramPattern.exec(this.uri)) !== null) {
31
+ this.parameterNames.push(match[1]);
32
+ }
33
+ // Convert Laravel-style parameters to regex
34
+ // :id -> ([^/]+)
35
+ // :id? -> ([^/]*)
36
+ let pattern = this.uri
37
+ .replace(/\//g, '\\/')
38
+ .replace(/:([a-zA-Z_][a-zA-Z0-9_]*)\?/g, '([^/]*)')
39
+ .replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, '([^/]+)');
40
+ this.compiled = new RegExp(`^${pattern}$`);
41
+ }
42
+ /**
43
+ * Determine if the route matches the given request
44
+ */
45
+ matches(method, path) {
46
+ if (!this.methods.includes(method)) {
47
+ return false;
48
+ }
49
+ return this.compiled?.test(path) || false;
50
+ }
51
+ /**
52
+ * Bind the route parameters from the path
53
+ */
54
+ bind(path) {
55
+ const match = this.compiled?.exec(path);
56
+ if (match) {
57
+ this.parameters = {};
58
+ this.parameterNames.forEach((name, index) => {
59
+ this.parameters[name] = match[index + 1];
60
+ });
61
+ }
62
+ }
63
+ /**
64
+ * Add middleware to the route
65
+ * Laravel: Route::middleware('auth')
66
+ */
67
+ addMiddleware(middleware) {
68
+ const middlewares = Array.isArray(middleware) ? middleware : [middleware];
69
+ this.middleware.push(...middlewares);
70
+ return this;
71
+ }
72
+ /**
73
+ * Set the route name
74
+ * Laravel: Route::name('users.index')
75
+ */
76
+ setName(name) {
77
+ this.name = name;
78
+ return this;
79
+ }
80
+ /**
81
+ * Get the route parameters
82
+ */
83
+ getParameters() {
84
+ return this.parameters;
85
+ }
86
+ /**
87
+ * Get a specific parameter value
88
+ */
89
+ parameter(name, defaultValue) {
90
+ return this.parameters[name] ?? defaultValue;
91
+ }
92
+ }
93
+ exports.Route = Route;
94
+ //# sourceMappingURL=Route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/Routing/Route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { Application } from '../Foundation/Application';
2
+ import { Route, HttpMethod, RouteAction, Middleware } from './Route';
3
+ import { Request } from './Request';
4
+ import { Response } from './Response';
5
+ /**
6
+ * Route group attributes
7
+ */
8
+ export interface RouteGroupAttributes {
9
+ prefix?: string;
10
+ middleware?: Middleware | Middleware[];
11
+ namespace?: string;
12
+ }
13
+ /**
14
+ * Router - Laravel's routing system
15
+ * Illuminate\Routing\Router
16
+ */
17
+ export declare class Router {
18
+ private app;
19
+ private routes;
20
+ private groupStack;
21
+ private namedRoutes;
22
+ constructor(app: Application);
23
+ /**
24
+ * Register a new GET route
25
+ * Laravel: Route::get('/path', action)
26
+ */
27
+ get(uri: string, action: RouteAction): Route;
28
+ /**
29
+ * Register a new POST route
30
+ * Laravel: Route::post('/path', action)
31
+ */
32
+ post(uri: string, action: RouteAction): Route;
33
+ /**
34
+ * Register a new PUT route
35
+ * Laravel: Route::put('/path', action)
36
+ */
37
+ put(uri: string, action: RouteAction): Route;
38
+ /**
39
+ * Register a new PATCH route
40
+ * Laravel: Route::patch('/path', action)
41
+ */
42
+ patch(uri: string, action: RouteAction): Route;
43
+ /**
44
+ * Register a new DELETE route
45
+ * Laravel: Route::delete('/path', action)
46
+ */
47
+ delete(uri: string, action: RouteAction): Route;
48
+ /**
49
+ * Register a new route responding to all verbs
50
+ * Laravel: Route::any('/path', action)
51
+ */
52
+ any(uri: string, action: RouteAction): Route;
53
+ /**
54
+ * Register a new route with the given methods
55
+ * Laravel: Route::match(['get', 'post'], '/path', action)
56
+ */
57
+ match(methods: HttpMethod[], uri: string, action: RouteAction): Route;
58
+ /**
59
+ * Add a route to the collection
60
+ */
61
+ private addRoute;
62
+ /**
63
+ * Create a route group with shared attributes
64
+ * Laravel: Route::group(['middleware' => 'auth'], function() {...})
65
+ */
66
+ group(attributes: RouteGroupAttributes, callback: () => void): void;
67
+ /**
68
+ * Register a route with a name
69
+ * Laravel: Route::get('/users', action)->name('users.index')
70
+ */
71
+ name(name: string, route: Route): void;
72
+ /**
73
+ * Get a route by name
74
+ */
75
+ getByName(name: string): Route | undefined;
76
+ /**
77
+ * Apply group attributes to a route
78
+ */
79
+ private applyGroupAttributes;
80
+ /**
81
+ * Get the prefix from the last group on the stack
82
+ */
83
+ private prefix;
84
+ /**
85
+ * Determine if the router currently has a group stack
86
+ */
87
+ private hasGroupStack;
88
+ /**
89
+ * Find the route matching a given request
90
+ */
91
+ findRoute(method: string, path: string): Route | null;
92
+ /**
93
+ * Dispatch the request to a route
94
+ */
95
+ dispatch(req: Request, res: Response): Promise<void>;
96
+ /**
97
+ * Run the route middleware pipeline
98
+ */
99
+ private runMiddleware;
100
+ /**
101
+ * Run the route action
102
+ */
103
+ private runRoute;
104
+ /**
105
+ * Call a controller action
106
+ * Laravel: 'UserController@index'
107
+ */
108
+ private callControllerAction;
109
+ /**
110
+ * Get all registered routes
111
+ */
112
+ getRoutes(): Route[];
113
+ }
114
+ //# sourceMappingURL=Router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAAiC;gBAExC,GAAG,EAAE,WAAW;IAI5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI7C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI9C;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI/C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAIrE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;;OAGG;IACH,KAAK,CAAC,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAMnE;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKtC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI1C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,MAAM;IASd;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAWrD;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1D;;OAEG;YACW,aAAa;IAqB3B;;OAEG;YACW,QAAQ;IAmBtB;;;OAGG;YACW,oBAAoB;IAWlC;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;CAGrB"}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Router = void 0;
4
+ const Route_1 = require("./Route");
5
+ /**
6
+ * Router - Laravel's routing system
7
+ * Illuminate\Routing\Router
8
+ */
9
+ class Router {
10
+ app;
11
+ routes = [];
12
+ groupStack = [];
13
+ namedRoutes = new Map();
14
+ constructor(app) {
15
+ this.app = app;
16
+ }
17
+ /**
18
+ * Register a new GET route
19
+ * Laravel: Route::get('/path', action)
20
+ */
21
+ get(uri, action) {
22
+ return this.addRoute(['GET', 'HEAD'], uri, action);
23
+ }
24
+ /**
25
+ * Register a new POST route
26
+ * Laravel: Route::post('/path', action)
27
+ */
28
+ post(uri, action) {
29
+ return this.addRoute(['POST'], uri, action);
30
+ }
31
+ /**
32
+ * Register a new PUT route
33
+ * Laravel: Route::put('/path', action)
34
+ */
35
+ put(uri, action) {
36
+ return this.addRoute(['PUT'], uri, action);
37
+ }
38
+ /**
39
+ * Register a new PATCH route
40
+ * Laravel: Route::patch('/path', action)
41
+ */
42
+ patch(uri, action) {
43
+ return this.addRoute(['PATCH'], uri, action);
44
+ }
45
+ /**
46
+ * Register a new DELETE route
47
+ * Laravel: Route::delete('/path', action)
48
+ */
49
+ delete(uri, action) {
50
+ return this.addRoute(['DELETE'], uri, action);
51
+ }
52
+ /**
53
+ * Register a new route responding to all verbs
54
+ * Laravel: Route::any('/path', action)
55
+ */
56
+ any(uri, action) {
57
+ return this.addRoute(['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE'], uri, action);
58
+ }
59
+ /**
60
+ * Register a new route with the given methods
61
+ * Laravel: Route::match(['get', 'post'], '/path', action)
62
+ */
63
+ match(methods, uri, action) {
64
+ return this.addRoute(methods, uri, action);
65
+ }
66
+ /**
67
+ * Add a route to the collection
68
+ */
69
+ addRoute(methods, uri, action) {
70
+ const route = new Route_1.Route(methods, this.prefix(uri), action);
71
+ // Apply group middleware
72
+ if (this.hasGroupStack()) {
73
+ this.applyGroupAttributes(route);
74
+ }
75
+ this.routes.push(route);
76
+ return route;
77
+ }
78
+ /**
79
+ * Create a route group with shared attributes
80
+ * Laravel: Route::group(['middleware' => 'auth'], function() {...})
81
+ */
82
+ group(attributes, callback) {
83
+ this.groupStack.push(attributes);
84
+ callback();
85
+ this.groupStack.pop();
86
+ }
87
+ /**
88
+ * Register a route with a name
89
+ * Laravel: Route::get('/users', action)->name('users.index')
90
+ */
91
+ name(name, route) {
92
+ this.namedRoutes.set(name, route);
93
+ route.setName(name);
94
+ }
95
+ /**
96
+ * Get a route by name
97
+ */
98
+ getByName(name) {
99
+ return this.namedRoutes.get(name);
100
+ }
101
+ /**
102
+ * Apply group attributes to a route
103
+ */
104
+ applyGroupAttributes(route) {
105
+ for (const group of this.groupStack) {
106
+ if (group.middleware) {
107
+ const middleware = Array.isArray(group.middleware) ? group.middleware : [group.middleware];
108
+ route.addMiddleware(middleware);
109
+ }
110
+ }
111
+ }
112
+ /**
113
+ * Get the prefix from the last group on the stack
114
+ */
115
+ prefix(uri) {
116
+ const prefix = this.groupStack
117
+ .filter(group => group.prefix)
118
+ .map(group => group.prefix)
119
+ .join('/');
120
+ return prefix ? `/${prefix}/${uri}`.replace(/\/+/g, '/') : uri;
121
+ }
122
+ /**
123
+ * Determine if the router currently has a group stack
124
+ */
125
+ hasGroupStack() {
126
+ return this.groupStack.length > 0;
127
+ }
128
+ /**
129
+ * Find the route matching a given request
130
+ */
131
+ findRoute(method, path) {
132
+ for (const route of this.routes) {
133
+ if (route.matches(method, path)) {
134
+ route.bind(path);
135
+ return route;
136
+ }
137
+ }
138
+ return null;
139
+ }
140
+ /**
141
+ * Dispatch the request to a route
142
+ */
143
+ async dispatch(req, res) {
144
+ const route = this.findRoute(req.method, req.path);
145
+ if (!route) {
146
+ res.status(404).send('Not Found');
147
+ return;
148
+ }
149
+ // Store the route on the request
150
+ req.route = route;
151
+ req.params = route.getParameters();
152
+ try {
153
+ // Run through middleware pipeline
154
+ await this.runMiddleware(route, req, res, async () => {
155
+ // Execute the route action
156
+ await this.runRoute(route, req, res);
157
+ });
158
+ }
159
+ catch (error) {
160
+ res.status(500).send(error instanceof Error ? error.message : 'Internal Server Error');
161
+ }
162
+ }
163
+ /**
164
+ * Run the route middleware pipeline
165
+ */
166
+ async runMiddleware(route, req, res, finalHandler) {
167
+ const middleware = [...route.middleware];
168
+ const runNext = async (index) => {
169
+ if (index >= middleware.length) {
170
+ await finalHandler();
171
+ return;
172
+ }
173
+ const currentMiddleware = middleware[index];
174
+ await currentMiddleware(req, res, () => runNext(index + 1));
175
+ };
176
+ await runNext(0);
177
+ }
178
+ /**
179
+ * Run the route action
180
+ */
181
+ async runRoute(route, req, res) {
182
+ const action = route.action;
183
+ let result;
184
+ if (typeof action === 'function') {
185
+ // Direct closure
186
+ result = await action(req, res);
187
+ }
188
+ else if (typeof action === 'string') {
189
+ // Controller@method string
190
+ result = await this.callControllerAction(action, req, res);
191
+ }
192
+ // If the handler returned a value and response wasn't sent, send it
193
+ if (result !== undefined && !res.finished) {
194
+ res.send(result);
195
+ }
196
+ }
197
+ /**
198
+ * Call a controller action
199
+ * Laravel: 'UserController@index'
200
+ */
201
+ async callControllerAction(action, req, res) {
202
+ const [controllerName, methodName] = action.split('@');
203
+ // This would normally resolve the controller from the container
204
+ // For now, throw an error indicating controllers need to be registered
205
+ throw new Error(`Controller action [${action}] not yet implemented. ` +
206
+ `Use closures or register controllers in the container.`);
207
+ }
208
+ /**
209
+ * Get all registered routes
210
+ */
211
+ getRoutes() {
212
+ return this.routes;
213
+ }
214
+ }
215
+ exports.Router = Router;
216
+ //# sourceMappingURL=Router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { Application } from '../Foundation/Application';
2
+ /**
3
+ * Facade - Laravel's Facade base class
4
+ * Provides static proxy to underlying service in the container
5
+ */
6
+ export declare abstract class Facade {
7
+ private static app;
8
+ private static resolvedInstances;
9
+ /**
10
+ * Set the application instance for facades
11
+ */
12
+ static setFacadeApplication(app: Application): void;
13
+ /**
14
+ * Get the application instance
15
+ */
16
+ static getFacadeApplication(): Application;
17
+ /**
18
+ * Get the registered name of the component
19
+ * This should be overridden by child classes
20
+ */
21
+ protected static getFacadeAccessor(): string;
22
+ /**
23
+ * Resolve the facade root instance from the container
24
+ */
25
+ protected static resolveFacadeInstance(name: string): any;
26
+ /**
27
+ * Get the root object behind the facade
28
+ */
29
+ protected static getFacadeRoot(): any;
30
+ /**
31
+ * Clear a resolved facade instance
32
+ */
33
+ static clearResolvedInstance(name: string): void;
34
+ /**
35
+ * Clear all resolved instances
36
+ */
37
+ static clearResolvedInstances(): void;
38
+ }
39
+ /**
40
+ * Create a Facade class dynamically with proxy support
41
+ * This allows calling methods statically: MyFacade.method()
42
+ */
43
+ export declare function createFacade<T extends object>(accessor: string): new () => T;
44
+ //# sourceMappingURL=Facade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Facade.d.ts","sourceRoot":"","sources":["../../src/Support/Facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD;;;GAGG;AACH,8BAAsB,MAAM;IAC1B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAc;IAChC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA+B;IAE/D;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAInD;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,WAAW;IAI1C;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAI5C;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAczD;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG;IAIrC;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhD;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,IAAI;CAGtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,CAkC5E"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Facade = void 0;
4
+ exports.createFacade = createFacade;
5
+ /**
6
+ * Facade - Laravel's Facade base class
7
+ * Provides static proxy to underlying service in the container
8
+ */
9
+ class Facade {
10
+ static app;
11
+ static resolvedInstances = new Map();
12
+ /**
13
+ * Set the application instance for facades
14
+ */
15
+ static setFacadeApplication(app) {
16
+ Facade.app = app;
17
+ }
18
+ /**
19
+ * Get the application instance
20
+ */
21
+ static getFacadeApplication() {
22
+ return Facade.app;
23
+ }
24
+ /**
25
+ * Get the registered name of the component
26
+ * This should be overridden by child classes
27
+ */
28
+ static getFacadeAccessor() {
29
+ throw new Error('Facade does not implement getFacadeAccessor method.');
30
+ }
31
+ /**
32
+ * Resolve the facade root instance from the container
33
+ */
34
+ static resolveFacadeInstance(name) {
35
+ if (Facade.resolvedInstances.has(name)) {
36
+ return Facade.resolvedInstances.get(name);
37
+ }
38
+ if (Facade.app) {
39
+ const instance = Facade.app.make(name);
40
+ Facade.resolvedInstances.set(name, instance);
41
+ return instance;
42
+ }
43
+ throw new Error('A facade root has not been set.');
44
+ }
45
+ /**
46
+ * Get the root object behind the facade
47
+ */
48
+ static getFacadeRoot() {
49
+ return Facade.resolveFacadeInstance(this.getFacadeAccessor());
50
+ }
51
+ /**
52
+ * Clear a resolved facade instance
53
+ */
54
+ static clearResolvedInstance(name) {
55
+ Facade.resolvedInstances.delete(name);
56
+ }
57
+ /**
58
+ * Clear all resolved instances
59
+ */
60
+ static clearResolvedInstances() {
61
+ Facade.resolvedInstances.clear();
62
+ }
63
+ }
64
+ exports.Facade = Facade;
65
+ /**
66
+ * Create a Facade class dynamically with proxy support
67
+ * This allows calling methods statically: MyFacade.method()
68
+ */
69
+ function createFacade(accessor) {
70
+ class DynamicFacade extends Facade {
71
+ static getFacadeAccessor() {
72
+ return accessor;
73
+ }
74
+ constructor() {
75
+ super();
76
+ return new Proxy(this, {
77
+ get(target, prop, receiver) {
78
+ const root = DynamicFacade.getFacadeRoot();
79
+ if (root && typeof root[prop] === 'function') {
80
+ return (...args) => root[prop](...args);
81
+ }
82
+ return root[prop];
83
+ }
84
+ });
85
+ }
86
+ }
87
+ // Create a Proxy on the class itself for static method calls
88
+ return new Proxy(DynamicFacade, {
89
+ get(target, prop) {
90
+ if (prop in target) {
91
+ return target[prop];
92
+ }
93
+ const root = target.getFacadeRoot();
94
+ if (root && typeof root[prop] === 'function') {
95
+ return (...args) => root[prop](...args);
96
+ }
97
+ return root[prop];
98
+ }
99
+ });
100
+ }
101
+ //# sourceMappingURL=Facade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Facade.js","sourceRoot":"","sources":["../../src/Support/Facade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Laravel-Next - A 1:1 Laravel replica in TypeScript
3
+ * Main exports
4
+ */
5
+ export { Application } from './Foundation/Application';
6
+ export { ServiceProvider } from './Foundation/ServiceProvider';
7
+ export { Kernel } from './Foundation/Http/Kernel';
8
+ export { Container } from './Container/Container';
9
+ export { Router } from './Routing/Router';
10
+ export { Route as RouteClass } from './Routing/Route';
11
+ export { Request } from './Routing/Request';
12
+ export { Response } from './Routing/Response';
13
+ export { Controller } from './Routing/Controller';
14
+ export { Facade } from './Support/Facade';
15
+ export { Route } from './Facades/Route';
16
+ export { RouteServiceProvider } from './Providers/RouteServiceProvider';
17
+ export type { HttpMethod, RouteAction, Middleware } from './Routing/Route';
18
+ export type { Abstract, Concrete, Binding } from './Container/Container';
19
+ export type { CookieOptions } from './Routing/Response';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * Laravel-Next - A 1:1 Laravel replica in TypeScript
4
+ * Main exports
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.RouteServiceProvider = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
8
+ // Foundation
9
+ var Application_1 = require("./Foundation/Application");
10
+ Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return Application_1.Application; } });
11
+ var ServiceProvider_1 = require("./Foundation/ServiceProvider");
12
+ Object.defineProperty(exports, "ServiceProvider", { enumerable: true, get: function () { return ServiceProvider_1.ServiceProvider; } });
13
+ var Kernel_1 = require("./Foundation/Http/Kernel");
14
+ Object.defineProperty(exports, "Kernel", { enumerable: true, get: function () { return Kernel_1.Kernel; } });
15
+ // Container
16
+ var Container_1 = require("./Container/Container");
17
+ Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } });
18
+ // Routing
19
+ var Router_1 = require("./Routing/Router");
20
+ Object.defineProperty(exports, "Router", { enumerable: true, get: function () { return Router_1.Router; } });
21
+ var Route_1 = require("./Routing/Route");
22
+ Object.defineProperty(exports, "RouteClass", { enumerable: true, get: function () { return Route_1.Route; } });
23
+ var Request_1 = require("./Routing/Request");
24
+ Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return Request_1.Request; } });
25
+ var Response_1 = require("./Routing/Response");
26
+ Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return Response_1.Response; } });
27
+ var Controller_1 = require("./Routing/Controller");
28
+ Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return Controller_1.Controller; } });
29
+ // Facades
30
+ var Facade_1 = require("./Support/Facade");
31
+ Object.defineProperty(exports, "Facade", { enumerable: true, get: function () { return Facade_1.Facade; } });
32
+ var Route_2 = require("./Facades/Route");
33
+ Object.defineProperty(exports, "Route", { enumerable: true, get: function () { return Route_2.Route; } });
34
+ // Providers
35
+ var RouteServiceProvider_1 = require("./Providers/RouteServiceProvider");
36
+ Object.defineProperty(exports, "RouteServiceProvider", { enumerable: true, get: function () { return RouteServiceProvider_1.RouteServiceProvider; } });
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,aAAa;AACb,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,gEAA+D;AAAtD,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gGAAA,MAAM,OAAA;AAEf,YAAY;AACZ,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAElB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAsD;AAA7C,mGAAA,KAAK,OAAc;AAC5B,6CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA;AACjB,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,8FAAA,KAAK,OAAA;AAEd,YAAY;AACZ,yEAAwE;AAA/D,4HAAA,oBAAoB,OAAA"}