@orchestr-sh/orchestr 1.4.3 → 1.5.0

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/README.md CHANGED
@@ -8,6 +8,7 @@ Built from the ground up with Laravel's core components:
8
8
 
9
9
  - **Service Container** - Full IoC container with dependency injection and reflection
10
10
  - **Service Providers** - Bootstrap and register services
11
+ - **Configuration** - Dot-notation config repository with runtime access
11
12
  - **HTTP Router** - Laravel-style routing with parameter binding and file-based route loading
12
13
  - **Request/Response** - Elegant HTTP abstractions
13
14
  - **Middleware** - Global and route-level middleware pipeline
@@ -64,6 +65,67 @@ kernel.listen(3000);
64
65
 
65
66
  ## Core Concepts
66
67
 
68
+ ### Configuration
69
+
70
+ Orchestr provides a Laravel-style configuration system with dot-notation access:
71
+
72
+ ```typescript
73
+ import { Application, ConfigServiceProvider, Config, config } from 'orchestr';
74
+
75
+ const app = new Application(__dirname);
76
+
77
+ // Register configuration
78
+ app.register(new ConfigServiceProvider(app, {
79
+ app: {
80
+ name: 'My Application',
81
+ env: 'production',
82
+ debug: false,
83
+ url: 'http://localhost:3000',
84
+ },
85
+ database: {
86
+ default: 'mysql',
87
+ connections: {
88
+ mysql: {
89
+ host: 'localhost',
90
+ port: 3306,
91
+ database: 'mydb',
92
+ }
93
+ }
94
+ }
95
+ }));
96
+
97
+ await app.boot();
98
+
99
+ // Access via container
100
+ const configInstance = app.make('config');
101
+ const appName = configInstance.get('app.name'); // 'My Application'
102
+ const dbHost = configInstance.get('database.connections.mysql.host'); // 'localhost'
103
+
104
+ // Access via facade
105
+ const name = Config.get('app.name');
106
+ const debug = Config.get('app.debug', false); // with default
107
+
108
+ // Access via helper function
109
+ const env = config('app.env');
110
+ const url = config('app.url', 'http://default.com');
111
+
112
+ // Set configuration values
113
+ Config.set('app.debug', true);
114
+ Config.set({
115
+ 'app.timezone': 'UTC',
116
+ 'app.locale': 'en'
117
+ });
118
+
119
+ // Check if config exists
120
+ if (Config.has('database.connections.mysql')) {
121
+ // ...
122
+ }
123
+
124
+ // Array operations
125
+ Config.push('app.providers', 'NewServiceProvider');
126
+ Config.prepend('app.middleware', 'LoggingMiddleware');
127
+ ```
128
+
67
129
  ### Service Container
68
130
 
69
131
  Laravel's IoC container provides powerful dependency injection:
@@ -254,7 +316,7 @@ Route.get('/profile', handler).addMiddleware(authMiddleware);
254
316
  Laravel-style FormRequest for clean validation and authorization:
255
317
 
256
318
  ```typescript
257
- import { FormRequest, ValidationRules, ValidationException, Route, Request, Response } from 'orchestr';
319
+ import { FormRequest, ValidationRules, ValidationException, ValidateRequest, Route, Request, Response } from 'orchestr';
258
320
 
259
321
  // Create a FormRequest class
260
322
  export class StoreUserRequest extends FormRequest {
@@ -284,29 +346,35 @@ export class StoreUserRequest extends FormRequest {
284
346
  }
285
347
  }
286
348
 
287
- // Use in routes
349
+ // Use in controllers with auto-validation
350
+ @Injectable()
351
+ class UserController extends Controller {
352
+ @ValidateRequest() // Enables automatic validation
353
+ async store(request: StoreUserRequest, res: Response) {
354
+ // Request is already validated! Get safe data
355
+ const validated = request.validated();
356
+
357
+ const user = await User.create(validated);
358
+ return res.status(201).json({ user });
359
+ }
360
+ }
361
+
362
+ Route.post('/users', [UserController, 'store']);
363
+
364
+ // Or use manually in routes
288
365
  Route.post('/users', async (req: Request, res: Response) => {
289
366
  try {
290
- // Validate request (checks authorization AND validation)
291
367
  const formRequest = await StoreUserRequest.validate(StoreUserRequest, req, res);
292
-
293
- // Get validated data only
294
368
  const validated = formRequest.validated();
295
-
296
- // Create user with safe, validated data
297
369
  const user = await User.create(validated);
298
-
299
370
  return res.status(201).json({ user });
300
371
  } catch (error) {
301
- // Validation/authorization errors already handled
302
372
  if (error instanceof ValidationException) return;
303
373
  throw error;
304
374
  }
305
375
  });
306
376
  ```
307
377
 
308
- **See [FORM_REQUESTS.md](./FORM_REQUESTS.md) for complete documentation.**
309
-
310
378
  ### Controllers
311
379
 
312
380
  MVC pattern with base controller and dependency injection:
@@ -879,6 +947,7 @@ Core components completed and in progress:
879
947
 
880
948
  - [x] Service Container & Dependency Injection
881
949
  - [x] Service Providers
950
+ - [x] Configuration System
882
951
  - [x] HTTP Router & Route Files
883
952
  - [x] Request/Response
884
953
  - [x] Middleware Pipeline
@@ -912,6 +981,7 @@ Core components completed and in progress:
912
981
  |---------|---------|----------|
913
982
  | Service Container | ✅ | ✅ |
914
983
  | Service Providers | ✅ | ✅ |
984
+ | Configuration | ✅ | ✅ |
915
985
  | Routing | ✅ | ✅ |
916
986
  | Route Files | ✅ | ✅ |
917
987
  | Middleware | ✅ | ✅ |
@@ -0,0 +1,17 @@
1
+ import { Facade } from '../Support/Facade';
2
+ import type { Config as ConfigClass } from '../Foundation/Config/Config';
3
+ /**
4
+ * Config Facade - Static access to configuration
5
+ * Illuminate\Support\Facades\Config
6
+ *
7
+ * @example
8
+ * Config.get('app.name')
9
+ * Config.set('app.debug', true)
10
+ * Config.has('database.connections.mysql')
11
+ */
12
+ declare class ConfigFacade extends Facade {
13
+ protected static getFacadeAccessor(): string;
14
+ }
15
+ export declare const Config: typeof ConfigFacade & ConfigClass;
16
+ export {};
17
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Facades/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;;;;;GAQG;AACH,cAAM,YAAa,SAAQ,MAAM;IAC/B,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM;CAG7C;AAGD,eAAO,MAAM,MAAM,EAAmB,OAAO,YAAY,GAAG,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Config = void 0;
4
+ const Facade_1 = require("../Support/Facade");
5
+ /**
6
+ * Config Facade - Static access to configuration
7
+ * Illuminate\Support\Facades\Config
8
+ *
9
+ * @example
10
+ * Config.get('app.name')
11
+ * Config.set('app.debug', true)
12
+ * Config.has('database.connections.mysql')
13
+ */
14
+ class ConfigFacade extends Facade_1.Facade {
15
+ static getFacadeAccessor() {
16
+ return 'config';
17
+ }
18
+ }
19
+ // Export facade with proper typing
20
+ exports.Config = ConfigFacade;
21
+ //# sourceMappingURL=Config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Facades/Config.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAG3C;;;;;;;;GAQG;AACH,MAAM,YAAa,SAAQ,eAAM;IACrB,MAAM,CAAC,iBAAiB;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,mCAAmC;AACtB,QAAA,MAAM,GAAG,YAAiD,CAAC"}
@@ -1 +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;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B;;OAEG;YACW,YAAY;IAS1B;;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"}
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;AAGpD;;;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;IAU5C;;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;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B;;OAEG;YACW,YAAY;IAS1B;;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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Application = void 0;
4
4
  const Container_1 = require("../Container/Container");
5
+ const helpers_1 = require("../Support/helpers");
5
6
  /**
6
7
  * Application class - Laravel's Illuminate\Foundation\Application
7
8
  * The heart of the framework, bootstraps everything
@@ -16,6 +17,8 @@ class Application extends Container_1.Container {
16
17
  this.basePath = basePath;
17
18
  this.registerBaseBindings();
18
19
  this.registerCoreContainerAliases();
20
+ // Set this as the global app instance for helper functions
21
+ (0, helpers_1.setGlobalApp)(this);
19
22
  }
20
23
  /**
21
24
  * Register the basic bindings into the container
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/Foundation/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/Foundation/Application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Config - Laravel's configuration repository
3
+ * Illuminate\Config\Repository
4
+ *
5
+ * Provides dot-notation access to configuration values
6
+ */
7
+ export declare class Config {
8
+ private items;
9
+ constructor(items?: Record<string, any>);
10
+ /**
11
+ * Determine if the given configuration value exists
12
+ * Laravel: config()->has('app.name')
13
+ *
14
+ * @param {string} key
15
+ * @returns {boolean}
16
+ */
17
+ has(key: string): boolean;
18
+ /**
19
+ * Get the specified configuration value
20
+ * Laravel: config('app.name') or config()->get('app.name')
21
+ *
22
+ * Supports dot notation: 'database.connections.mysql.host'
23
+ *
24
+ * @param {string} key
25
+ * @param {any} defaultValue
26
+ * @returns {any}
27
+ */
28
+ get<T = any>(key: string, defaultValue?: T): T;
29
+ /**
30
+ * Get all configuration values
31
+ *
32
+ * @returns {Record<string, any>}
33
+ */
34
+ all(): Record<string, any>;
35
+ /**
36
+ * Set a given configuration value
37
+ * Laravel: config(['app.name' => 'My App'])
38
+ *
39
+ * @param {string | Record<string, any>} key
40
+ * @param {any} value
41
+ */
42
+ set(key: string | Record<string, any>, value?: any): void;
43
+ /**
44
+ * Prepend a value onto an array configuration value
45
+ * Laravel: config()->prepend('app.providers', ServiceProvider::class)
46
+ *
47
+ * @param {string} key
48
+ * @param {any} value
49
+ */
50
+ prepend(key: string, value: any): void;
51
+ /**
52
+ * Push a value onto an array configuration value
53
+ * Laravel: config()->push('app.providers', ServiceProvider::class)
54
+ *
55
+ * @param {string} key
56
+ * @param {any} value
57
+ */
58
+ push(key: string, value: any): void;
59
+ /**
60
+ * Remove a configuration value
61
+ *
62
+ * @param {string} key
63
+ */
64
+ forget(key: string): void;
65
+ /**
66
+ * Get many configuration values
67
+ *
68
+ * @param {string[]} keys
69
+ * @returns {Record<string, any>}
70
+ */
71
+ getMany(keys: string[]): Record<string, any>;
72
+ /**
73
+ * Merge configuration values (deep merge)
74
+ *
75
+ * @param {Record<string, any>} items
76
+ */
77
+ merge(items: Record<string, any>): void;
78
+ /**
79
+ * Deep merge two objects
80
+ */
81
+ private deepMerge;
82
+ /**
83
+ * Check if value is a plain object
84
+ */
85
+ private isObject;
86
+ }
87
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Foundation/Config/Config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAA2B;gBAE5B,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAI3C;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC;IAe9C;;;;OAIG;IACH,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI1B;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI;IA2BzD;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAWtC;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAWnC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAmBzB;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU5C;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIvC;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Config = void 0;
4
+ /**
5
+ * Config - Laravel's configuration repository
6
+ * Illuminate\Config\Repository
7
+ *
8
+ * Provides dot-notation access to configuration values
9
+ */
10
+ class Config {
11
+ items = {};
12
+ constructor(items = {}) {
13
+ this.items = items;
14
+ }
15
+ /**
16
+ * Determine if the given configuration value exists
17
+ * Laravel: config()->has('app.name')
18
+ *
19
+ * @param {string} key
20
+ * @returns {boolean}
21
+ */
22
+ has(key) {
23
+ return this.get(key) !== undefined;
24
+ }
25
+ /**
26
+ * Get the specified configuration value
27
+ * Laravel: config('app.name') or config()->get('app.name')
28
+ *
29
+ * Supports dot notation: 'database.connections.mysql.host'
30
+ *
31
+ * @param {string} key
32
+ * @param {any} defaultValue
33
+ * @returns {any}
34
+ */
35
+ get(key, defaultValue) {
36
+ const keys = key.split('.');
37
+ let value = this.items;
38
+ for (const segment of keys) {
39
+ if (value && typeof value === 'object' && segment in value) {
40
+ value = value[segment];
41
+ }
42
+ else {
43
+ return defaultValue;
44
+ }
45
+ }
46
+ return value;
47
+ }
48
+ /**
49
+ * Get all configuration values
50
+ *
51
+ * @returns {Record<string, any>}
52
+ */
53
+ all() {
54
+ return this.items;
55
+ }
56
+ /**
57
+ * Set a given configuration value
58
+ * Laravel: config(['app.name' => 'My App'])
59
+ *
60
+ * @param {string | Record<string, any>} key
61
+ * @param {any} value
62
+ */
63
+ set(key, value) {
64
+ if (typeof key === 'object') {
65
+ // Set multiple values
66
+ for (const [k, v] of Object.entries(key)) {
67
+ this.set(k, v);
68
+ }
69
+ return;
70
+ }
71
+ const keys = key.split('.');
72
+ let current = this.items;
73
+ // Navigate to the parent of the final key
74
+ for (let i = 0; i < keys.length - 1; i++) {
75
+ const segment = keys[i];
76
+ if (!current[segment] || typeof current[segment] !== 'object') {
77
+ current[segment] = {};
78
+ }
79
+ current = current[segment];
80
+ }
81
+ // Set the final value
82
+ current[keys[keys.length - 1]] = value;
83
+ }
84
+ /**
85
+ * Prepend a value onto an array configuration value
86
+ * Laravel: config()->prepend('app.providers', ServiceProvider::class)
87
+ *
88
+ * @param {string} key
89
+ * @param {any} value
90
+ */
91
+ prepend(key, value) {
92
+ const array = this.get(key, []);
93
+ if (!Array.isArray(array)) {
94
+ throw new Error(`Configuration value at [${key}] is not an array.`);
95
+ }
96
+ array.unshift(value);
97
+ this.set(key, array);
98
+ }
99
+ /**
100
+ * Push a value onto an array configuration value
101
+ * Laravel: config()->push('app.providers', ServiceProvider::class)
102
+ *
103
+ * @param {string} key
104
+ * @param {any} value
105
+ */
106
+ push(key, value) {
107
+ const array = this.get(key, []);
108
+ if (!Array.isArray(array)) {
109
+ throw new Error(`Configuration value at [${key}] is not an array.`);
110
+ }
111
+ array.push(value);
112
+ this.set(key, array);
113
+ }
114
+ /**
115
+ * Remove a configuration value
116
+ *
117
+ * @param {string} key
118
+ */
119
+ forget(key) {
120
+ const keys = key.split('.');
121
+ let current = this.items;
122
+ // Navigate to the parent of the final key
123
+ for (let i = 0; i < keys.length - 1; i++) {
124
+ const segment = keys[i];
125
+ if (!current[segment] || typeof current[segment] !== 'object') {
126
+ return; // Key doesn't exist
127
+ }
128
+ current = current[segment];
129
+ }
130
+ // Delete the final key
131
+ delete current[keys[keys.length - 1]];
132
+ }
133
+ /**
134
+ * Get many configuration values
135
+ *
136
+ * @param {string[]} keys
137
+ * @returns {Record<string, any>}
138
+ */
139
+ getMany(keys) {
140
+ const result = {};
141
+ for (const key of keys) {
142
+ result[key] = this.get(key);
143
+ }
144
+ return result;
145
+ }
146
+ /**
147
+ * Merge configuration values (deep merge)
148
+ *
149
+ * @param {Record<string, any>} items
150
+ */
151
+ merge(items) {
152
+ this.items = this.deepMerge(this.items, items);
153
+ }
154
+ /**
155
+ * Deep merge two objects
156
+ */
157
+ deepMerge(target, source) {
158
+ const output = { ...target };
159
+ if (this.isObject(target) && this.isObject(source)) {
160
+ Object.keys(source).forEach(key => {
161
+ if (this.isObject(source[key])) {
162
+ if (!(key in target)) {
163
+ output[key] = source[key];
164
+ }
165
+ else {
166
+ output[key] = this.deepMerge(target[key], source[key]);
167
+ }
168
+ }
169
+ else {
170
+ output[key] = source[key];
171
+ }
172
+ });
173
+ }
174
+ return output;
175
+ }
176
+ /**
177
+ * Check if value is a plain object
178
+ */
179
+ isObject(item) {
180
+ return item && typeof item === 'object' && !Array.isArray(item);
181
+ }
182
+ }
183
+ exports.Config = Config;
184
+ //# sourceMappingURL=Config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Foundation/Config/Config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ServiceProvider } from '../ServiceProvider';
2
+ import { Application } from '../Application';
3
+ /**
4
+ * ConfigServiceProvider - Registers the configuration repository
5
+ * Illuminate\Foundation\Providers\ConfigServiceProvider (partial)
6
+ */
7
+ export declare class ConfigServiceProvider extends ServiceProvider {
8
+ /**
9
+ * Configuration items to register
10
+ */
11
+ private config;
12
+ constructor(app: Application, config?: Record<string, any>);
13
+ /**
14
+ * Register the configuration repository
15
+ */
16
+ register(): void;
17
+ }
18
+ //# sourceMappingURL=ConfigServiceProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigServiceProvider.d.ts","sourceRoot":"","sources":["../../../src/Foundation/Config/ConfigServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACxD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAsB;gBAExB,GAAG,EAAE,WAAW,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAK9D;;OAEG;IACH,QAAQ,IAAI,IAAI;CAUjB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigServiceProvider = void 0;
4
+ const ServiceProvider_1 = require("../ServiceProvider");
5
+ const Config_1 = require("./Config");
6
+ /**
7
+ * ConfigServiceProvider - Registers the configuration repository
8
+ * Illuminate\Foundation\Providers\ConfigServiceProvider (partial)
9
+ */
10
+ class ConfigServiceProvider extends ServiceProvider_1.ServiceProvider {
11
+ /**
12
+ * Configuration items to register
13
+ */
14
+ config;
15
+ constructor(app, config = {}) {
16
+ super(app);
17
+ this.config = config;
18
+ }
19
+ /**
20
+ * Register the configuration repository
21
+ */
22
+ register() {
23
+ this.app.singleton('config', () => {
24
+ return new Config_1.Config(this.config);
25
+ });
26
+ // Also bind the Config class itself
27
+ this.app.singleton(Config_1.Config, () => {
28
+ return this.app.make('config');
29
+ });
30
+ }
31
+ }
32
+ exports.ConfigServiceProvider = ConfigServiceProvider;
33
+ //# sourceMappingURL=ConfigServiceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigServiceProvider.js","sourceRoot":"","sources":["../../../src/Foundation/Config/ConfigServiceProvider.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,qCAAkC;AAElC;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,iCAAe;IACxD;;OAEG;IACK,MAAM,CAAsB;IAEpC,YAAY,GAAgB,EAAE,SAA8B,EAAE;QAC5D,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChC,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,eAAM,EAAE,GAAG,EAAE;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxBD,sDAwBC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ValidateRequest Decorator
3
+ *
4
+ * Marks a controller method to enable automatic FormRequest validation.
5
+ * This decorator triggers TypeScript to emit parameter metadata for the method.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * @Injectable()
10
+ * export class UserController extends Controller {
11
+ * @ValidateRequest()
12
+ * async store(request: StoreUserRequest, res: Response) {
13
+ * // request is automatically validated
14
+ * }
15
+ * }
16
+ * ```
17
+ */
18
+ export declare function ValidateRequest(): MethodDecorator;
19
+ //# sourceMappingURL=ValidateRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidateRequest.d.ts","sourceRoot":"","sources":["../../src/Support/ValidateRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAMjD"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidateRequest = ValidateRequest;
4
+ /**
5
+ * ValidateRequest Decorator
6
+ *
7
+ * Marks a controller method to enable automatic FormRequest validation.
8
+ * This decorator triggers TypeScript to emit parameter metadata for the method.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * @Injectable()
13
+ * export class UserController extends Controller {
14
+ * @ValidateRequest()
15
+ * async store(request: StoreUserRequest, res: Response) {
16
+ * // request is automatically validated
17
+ * }
18
+ * }
19
+ * ```
20
+ */
21
+ function ValidateRequest() {
22
+ return (target, propertyKey, descriptor) => {
23
+ // This decorator is intentionally empty.
24
+ // Its sole purpose is to trigger TypeScript's emitDecoratorMetadata
25
+ // feature, which adds reflection metadata about method parameters.
26
+ };
27
+ }
28
+ //# sourceMappingURL=ValidateRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidateRequest.js","sourceRoot":"","sources":["../../src/Support/ValidateRequest.ts"],"names":[],"mappings":";;AAiBA,0CAMC;AAvBD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,eAAe;IAC7B,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACnF,yCAAyC;QACzC,oEAAoE;QACpE,mEAAmE;IACrE,CAAC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,22 @@
1
1
  /**
2
2
  * Helper functions - Laravel-style global helpers
3
3
  */
4
+ import { Application } from '../Foundation/Application';
5
+ import type { Config as ConfigClass } from '../Foundation/Config/Config';
6
+ /**
7
+ * Set the global application instance
8
+ * @internal
9
+ */
10
+ export declare function setGlobalApp(app: Application): void;
11
+ /**
12
+ * Get a configuration value
13
+ * Laravel: config('app.name') or config('app.name', 'default')
14
+ *
15
+ * @param {string} key
16
+ * @param {any} defaultValue
17
+ * @returns {any}
18
+ */
19
+ export declare function config<T = any>(key?: string, defaultValue?: T): T | ConfigClass;
4
20
  /**
5
21
  * Load routes from a directory
6
22
  * This helper allows you to dynamically import route files
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/Support/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM,CAErD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/Support/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAKzE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,WAAW,CAa/E;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM,CAErD"}
@@ -36,9 +36,39 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.setGlobalApp = setGlobalApp;
40
+ exports.config = config;
39
41
  exports.loadRoutes = loadRoutes;
40
42
  exports.base_path = base_path;
41
43
  exports.routes_path = routes_path;
44
+ // Global application instance for helpers
45
+ let globalApp = null;
46
+ /**
47
+ * Set the global application instance
48
+ * @internal
49
+ */
50
+ function setGlobalApp(app) {
51
+ globalApp = app;
52
+ }
53
+ /**
54
+ * Get a configuration value
55
+ * Laravel: config('app.name') or config('app.name', 'default')
56
+ *
57
+ * @param {string} key
58
+ * @param {any} defaultValue
59
+ * @returns {any}
60
+ */
61
+ function config(key, defaultValue) {
62
+ if (!globalApp) {
63
+ throw new Error('Application not initialized. Call setGlobalApp() first.');
64
+ }
65
+ const configInstance = globalApp.make('config');
66
+ // If no key provided, return the config instance
67
+ if (key === undefined) {
68
+ return configInstance;
69
+ }
70
+ return configInstance.get(key, defaultValue);
71
+ }
42
72
  /**
43
73
  * Load routes from a directory
44
74
  * This helper allows you to dynamically import route files
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/Support/helpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMH,gCAMC;AAKD,8BAEC;AAKD,kCAEC;AAxBD;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAC,SAAiB;IAChD,IAAI,CAAC;QACH,yBAAa,SAAS,uCAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,KAAK,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,OAAe,EAAE;IACzC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,OAAe,EAAE;IAC3C,OAAO,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/Support/helpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,oCAEC;AAUD,wBAaC;AAMD,gCAMC;AAKD,8BAEC;AAKD,kCAEC;AA1DD,0CAA0C;AAC1C,IAAI,SAAS,GAAuB,IAAI,CAAC;AAEzC;;;GAGG;AACH,SAAgB,YAAY,CAAC,GAAgB;IAC3C,SAAS,GAAG,GAAG,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,MAAM,CAAU,GAAY,EAAE,YAAgB;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAc,QAAQ,CAAC,CAAC;IAE7D,iDAAiD;IACjD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,cAAqB,CAAC;IAC/B,CAAC;IAED,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAC,SAAiB;IAChD,IAAI,CAAC;QACH,yBAAa,SAAS,uCAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,KAAK,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,OAAe,EAAE;IACzC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,OAAe,EAAE;IAC3C,OAAO,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ export { FormRequest } from './Foundation/Http/FormRequest';
9
9
  export { ValidationException } from './Foundation/Http/ValidationException';
10
10
  export { Validator } from './Foundation/Http/Validator';
11
11
  export type { ValidationRules, ValidationRule, ValidationRuleObject } from './Foundation/Http/Validator';
12
+ export { Config as ConfigClass } from './Foundation/Config/Config';
13
+ export { ConfigServiceProvider } from './Foundation/Config/ConfigServiceProvider';
12
14
  export { Container } from './Container/Container';
13
15
  export { Router } from './Routing/Router';
14
16
  export { Route as RouteClass } from './Routing/Route';
@@ -17,8 +19,11 @@ export { Response } from './Routing/Response';
17
19
  export { Controller } from './Routing/Controller';
18
20
  export { Facade } from './Support/Facade';
19
21
  export { Route } from './Facades/Route';
22
+ export { Config } from './Facades/Config';
20
23
  export { loadRoutes, base_path, routes_path } from './Support/helpers';
21
24
  export { Injectable } from './Support/Injectable';
25
+ export { ValidateRequest } from './Support/ValidateRequest';
26
+ export { config } from './Support/helpers';
22
27
  export { RouteServiceProvider } from './Providers/RouteServiceProvider';
23
28
  export { DatabaseServiceProvider } from './Database/DatabaseServiceProvider';
24
29
  export { DatabaseManager } from './Database/DatabaseManager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,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;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAGrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGtF,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/H,YAAY,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAGxF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACzG,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAGpC,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 CHANGED
@@ -4,7 +4,7 @@
4
4
  * Main exports
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.HasRelationshipsMixin = exports.BelongsTo = exports.HasMany = exports.HasOne = exports.Relation = exports.softDeletes = exports.EnsembleCollection = exports.EnsembleBuilder = exports.Ensemble = exports.DB = exports.DrizzleAdapter = exports.raw = exports.Expression = exports.QueryBuilder = exports.Connection = exports.DatabaseManager = exports.DatabaseServiceProvider = exports.RouteServiceProvider = exports.Injectable = exports.routes_path = exports.base_path = exports.loadRoutes = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.Validator = exports.ValidationException = exports.FormRequest = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
7
+ exports.HasRelationshipsMixin = exports.BelongsTo = exports.HasMany = exports.HasOne = exports.Relation = exports.softDeletes = exports.EnsembleCollection = exports.EnsembleBuilder = exports.Ensemble = exports.DB = exports.DrizzleAdapter = exports.raw = exports.Expression = exports.QueryBuilder = exports.Connection = exports.DatabaseManager = exports.DatabaseServiceProvider = exports.RouteServiceProvider = exports.config = exports.ValidateRequest = exports.Injectable = exports.routes_path = exports.base_path = exports.loadRoutes = exports.Config = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.ConfigServiceProvider = exports.ConfigClass = exports.Validator = exports.ValidationException = exports.FormRequest = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
8
8
  // Foundation
9
9
  var Application_1 = require("./Foundation/Application");
10
10
  Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return Application_1.Application; } });
@@ -18,6 +18,10 @@ var ValidationException_1 = require("./Foundation/Http/ValidationException");
18
18
  Object.defineProperty(exports, "ValidationException", { enumerable: true, get: function () { return ValidationException_1.ValidationException; } });
19
19
  var Validator_1 = require("./Foundation/Http/Validator");
20
20
  Object.defineProperty(exports, "Validator", { enumerable: true, get: function () { return Validator_1.Validator; } });
21
+ var Config_1 = require("./Foundation/Config/Config");
22
+ Object.defineProperty(exports, "ConfigClass", { enumerable: true, get: function () { return Config_1.Config; } });
23
+ var ConfigServiceProvider_1 = require("./Foundation/Config/ConfigServiceProvider");
24
+ Object.defineProperty(exports, "ConfigServiceProvider", { enumerable: true, get: function () { return ConfigServiceProvider_1.ConfigServiceProvider; } });
21
25
  // Container
22
26
  var Container_1 = require("./Container/Container");
23
27
  Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } });
@@ -37,6 +41,8 @@ var Facade_1 = require("./Support/Facade");
37
41
  Object.defineProperty(exports, "Facade", { enumerable: true, get: function () { return Facade_1.Facade; } });
38
42
  var Route_2 = require("./Facades/Route");
39
43
  Object.defineProperty(exports, "Route", { enumerable: true, get: function () { return Route_2.Route; } });
44
+ var Config_2 = require("./Facades/Config");
45
+ Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return Config_2.Config; } });
40
46
  // Helpers
41
47
  var helpers_1 = require("./Support/helpers");
42
48
  Object.defineProperty(exports, "loadRoutes", { enumerable: true, get: function () { return helpers_1.loadRoutes; } });
@@ -45,6 +51,11 @@ Object.defineProperty(exports, "routes_path", { enumerable: true, get: function
45
51
  // Decorators
46
52
  var Injectable_1 = require("./Support/Injectable");
47
53
  Object.defineProperty(exports, "Injectable", { enumerable: true, get: function () { return Injectable_1.Injectable; } });
54
+ var ValidateRequest_1 = require("./Support/ValidateRequest");
55
+ Object.defineProperty(exports, "ValidateRequest", { enumerable: true, get: function () { return ValidateRequest_1.ValidateRequest; } });
56
+ // Helper function for config
57
+ var helpers_2 = require("./Support/helpers");
58
+ Object.defineProperty(exports, "config", { enumerable: true, get: function () { return helpers_2.config; } });
48
59
  // Providers
49
60
  var RouteServiceProvider_1 = require("./Providers/RouteServiceProvider");
50
61
  Object.defineProperty(exports, "RouteServiceProvider", { enumerable: true, get: function () { return RouteServiceProvider_1.RouteServiceProvider; } });
package/dist/index.js.map CHANGED
@@ -1 +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;AACf,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,6EAA4E;AAAnE,0HAAA,mBAAmB,OAAA;AAC5B,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAGlB,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,UAAU;AACV,6CAAuE;AAA9D,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAE3C,aAAa;AACb,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,YAAY;AACZ,yEAAwE;AAA/D,4HAAA,oBAAoB,OAAA;AAC7B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oDAAmE;AAA1D,uGAAA,OAAO,OAAgB;AAChC,0DAA8D;AAArD,wGAAA,UAAU,OAAA;AAAE,iGAAA,GAAG,OAAA;AACxB,qEAAoE;AAA3D,gHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,mCAAkC;AAAzB,wFAAA,EAAE,OAAA;AAEX,eAAe;AACf,yDAAwD;AAA/C,oGAAA,QAAQ,OAAA;AACjB,uEAAsE;AAA7D,kHAAA,eAAe,OAAA;AACxB,6EAA4E;AAAnE,wHAAA,kBAAkB,OAAA;AAC3B,+DAA8D;AAArD,0GAAA,WAAW,OAAA;AAEpB,qBAAqB;AACrB,2DAAqF;AAA5E,qGAAA,QAAQ,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,sGAAA,SAAS,OAAA;AAE7C,oBAAoB;AACpB,kFAAsF;AAA7E,yHAAA,qBAAqB,OAAA"}
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;AACf,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,6EAA4E;AAAnE,0HAAA,mBAAmB,OAAA;AAC5B,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAElB,qDAAmE;AAA1D,qGAAA,MAAM,OAAe;AAC9B,mFAAkF;AAAzE,8HAAA,qBAAqB,OAAA;AAE9B,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;AACd,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AAEf,UAAU;AACV,6CAAuE;AAA9D,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAE3C,aAAa;AACb,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AACnB,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AAExB,6BAA6B;AAC7B,6CAA2C;AAAlC,iGAAA,MAAM,OAAA;AAEf,YAAY;AACZ,yEAAwE;AAA/D,4HAAA,oBAAoB,OAAA;AAC7B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oDAAmE;AAA1D,uGAAA,OAAO,OAAgB;AAChC,0DAA8D;AAArD,wGAAA,UAAU,OAAA;AAAE,iGAAA,GAAG,OAAA;AACxB,qEAAoE;AAA3D,gHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,mCAAkC;AAAzB,wFAAA,EAAE,OAAA;AAEX,eAAe;AACf,yDAAwD;AAA/C,oGAAA,QAAQ,OAAA;AACjB,uEAAsE;AAA7D,kHAAA,eAAe,OAAA;AACxB,6EAA4E;AAAnE,wHAAA,kBAAkB,OAAA;AAC3B,+DAA8D;AAArD,0GAAA,WAAW,OAAA;AAEpB,qBAAqB;AACrB,2DAAqF;AAA5E,qGAAA,QAAQ,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,sGAAA,SAAS,OAAA;AAE7C,oBAAoB;AACpB,kFAAsF;AAA7E,yHAAA,qBAAqB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orchestr-sh/orchestr",
3
- "version": "1.4.3",
3
+ "version": "1.5.0",
4
4
  "description": "A 1:1 Laravel replica in TypeScript - Brings Laravel's elegant syntax and architecture to Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",