@riktajs/core 0.4.0-beta.4 ā 0.4.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/dist/core/application.d.ts.map +1 -1
- package/dist/core/application.js +20 -2
- package/dist/core/application.js.map +1 -1
- package/dist/core/registry.d.ts +7 -47
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +8 -73
- package/dist/core/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAe1B,OAAO,EAAe,WAAW,EAAE,gBAAgB,EAAqB,MAAM,SAAS,CAAC;AASxF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;;;;;;OAcG;WACU,MAAM,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsBzE;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAe1B,OAAO,EAAe,WAAW,EAAE,gBAAgB,EAAqB,MAAM,SAAS,CAAC;AASxF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;;;;;;OAcG;WACU,MAAM,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsBzE;AA+VD,OAAO,EAAE,YAAY,IAAI,KAAK,EAAE,CAAC"}
|
package/dist/core/application.js
CHANGED
|
@@ -138,12 +138,14 @@ class RiktaApplicationImpl {
|
|
|
138
138
|
console.log('\nš§ Rikta Framework Initializing...\n');
|
|
139
139
|
// Emit discovery event
|
|
140
140
|
await this.events.emit('app:discovery', { files: discoveredFiles });
|
|
141
|
-
// 1. Process
|
|
141
|
+
// 1. Process config providers (register them in the container)
|
|
142
|
+
await this.processConfigProviders();
|
|
143
|
+
// 2. Process @Provider classes
|
|
142
144
|
await this.processCustomProviders();
|
|
143
145
|
await this.events.emit('app:providers', {
|
|
144
146
|
count: registry_1.registry.getCustomProviders().length
|
|
145
147
|
});
|
|
146
|
-
//
|
|
148
|
+
// 3. Get and sort providers by priority
|
|
147
149
|
const providers = this.getSortedProviders();
|
|
148
150
|
// 3. Register additional explicit providers
|
|
149
151
|
const additionalProviders = this.config.providers ?? [];
|
|
@@ -170,6 +172,22 @@ class RiktaApplicationImpl {
|
|
|
170
172
|
if (!this.config.silent)
|
|
171
173
|
console.log('\nā
Application initialized successfully\n');
|
|
172
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Process all config providers and register them in the container
|
|
177
|
+
*/
|
|
178
|
+
async processConfigProviders() {
|
|
179
|
+
const configProviders = registry_1.registry.getConfigProviderRegistrations();
|
|
180
|
+
if (configProviders.length === 0)
|
|
181
|
+
return;
|
|
182
|
+
for (const { token, providerClass } of configProviders) {
|
|
183
|
+
// Register the config provider class in the container
|
|
184
|
+
// This allows it to be resolved via @Autowired(token)
|
|
185
|
+
this.container.registerProvider({
|
|
186
|
+
provide: token,
|
|
187
|
+
useClass: providerClass,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
173
191
|
/**
|
|
174
192
|
* Process all @Provider decorated classes
|
|
175
193
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA0B;AAC1B,sDAAmD;AACnD,qDAAkD;AAClD,4CAAyC;AACzC,yCAAsC;AACtC,2CAAkE;AAElE,qDAAiD;AACjD,2DAA8E;AAQ9E,2CAAqF;AACrF,6CAKsB;AAEtB;;;;;GAKG;AACH,MAAa,YAAY;IACvB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAsB,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAA,8BAAkB,GAAE,CAAC;QACvC,IAAI,eAAe,GAAa,EAAE,CAAC;QAEnC,oDAAoD;QACpD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC7E,CAAC,CAAC,MAAM,CAAC,SAAS;gBAClB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACb,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAC7D,eAAe,GAAG,MAAM,IAAA,2BAAe,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC7D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,eAAe,CAAC,MAAM,YAAY,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAtCD,oCAsCC;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
|
package/dist/core/registry.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ interface ConfigProviderRegistration {
|
|
|
11
11
|
*
|
|
12
12
|
* Stores references to all decorated classes for auto-discovery.
|
|
13
13
|
* Controllers and providers register themselves here via decorators.
|
|
14
|
+
*
|
|
15
|
+
* The registry acts as a collection point during the decoration phase.
|
|
16
|
+
* Once the application initializes, the registered classes are processed
|
|
17
|
+
* and transferred to the DI container for resolution.
|
|
14
18
|
*/
|
|
15
19
|
declare class Registry {
|
|
16
20
|
private static instance;
|
|
@@ -22,8 +26,6 @@ declare class Registry {
|
|
|
22
26
|
private customProviders;
|
|
23
27
|
/** Map of config provider tokens to their class constructors */
|
|
24
28
|
private configProviderMap;
|
|
25
|
-
/** Cache of instantiated config provider instances (singleton scope) */
|
|
26
|
-
private configProviderInstances;
|
|
27
29
|
private constructor();
|
|
28
30
|
static getInstance(): Registry;
|
|
29
31
|
/**
|
|
@@ -79,48 +81,6 @@ declare class Registry {
|
|
|
79
81
|
* ```
|
|
80
82
|
*/
|
|
81
83
|
registerConfigProvider(token: string, providerClass: Constructor): void;
|
|
82
|
-
/**
|
|
83
|
-
* Get a config provider instance by its token (singleton)
|
|
84
|
-
*
|
|
85
|
-
* If the provider hasn't been instantiated yet, it will be created and cached.
|
|
86
|
-
*
|
|
87
|
-
* @param token - The injection token
|
|
88
|
-
* @returns The config provider instance
|
|
89
|
-
* @throws {ConfigProviderNotFoundException} If the token is not registered
|
|
90
|
-
* @throws {ConfigProviderInstantiationException} If instantiation fails
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```typescript
|
|
94
|
-
* const config = registry.getConfigProvider<AppConfigProvider>('APP_CONFIG');
|
|
95
|
-
* ```
|
|
96
|
-
*/
|
|
97
|
-
getConfigProvider<T = unknown>(token: string): T;
|
|
98
|
-
/**
|
|
99
|
-
* Check if a config provider token is registered
|
|
100
|
-
*
|
|
101
|
-
* @param token - The injection token to check
|
|
102
|
-
* @returns True if the token is registered
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* ```typescript
|
|
106
|
-
* if (registry.hasConfigProvider('APP_CONFIG')) {
|
|
107
|
-
* const config = registry.getConfigProvider('APP_CONFIG');
|
|
108
|
-
* }
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
hasConfigProvider(token: string): boolean;
|
|
112
|
-
/**
|
|
113
|
-
* Get all registered config provider tokens
|
|
114
|
-
*
|
|
115
|
-
* @returns Array of all registered tokens
|
|
116
|
-
*
|
|
117
|
-
* @example
|
|
118
|
-
* ```typescript
|
|
119
|
-
* const tokens = registry.getConfigProviderTokens();
|
|
120
|
-
* console.log('Available configs:', tokens);
|
|
121
|
-
* ```
|
|
122
|
-
*/
|
|
123
|
-
getConfigProviderTokens(): string[];
|
|
124
84
|
/**
|
|
125
85
|
* Get all registered config provider classes with their tokens
|
|
126
86
|
*
|
|
@@ -130,13 +90,13 @@ declare class Registry {
|
|
|
130
90
|
*/
|
|
131
91
|
getConfigProviderRegistrations(): ConfigProviderRegistration[];
|
|
132
92
|
/**
|
|
133
|
-
* Clear all config provider
|
|
93
|
+
* Clear all config provider registrations (useful for testing)
|
|
134
94
|
*
|
|
135
|
-
* This will
|
|
95
|
+
* This will remove all registered config providers
|
|
136
96
|
*
|
|
137
97
|
* @internal
|
|
138
98
|
*/
|
|
139
|
-
|
|
99
|
+
clearConfigProviders(): void;
|
|
140
100
|
}
|
|
141
101
|
/**
|
|
142
102
|
* Global registry instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC;;GAEG;AACH,UAAU,0BAA0B;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,WAAW,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,cAAM,QAAQ;IACZ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAElC,iCAAiC;IACjC,OAAO,CAAC,WAAW,CAA0B;IAE7C,0DAA0D;IAC1D,OAAO,CAAC,SAAS,CAA0B;IAE3C,sDAAsD;IACtD,OAAO,CAAC,eAAe,CAA0B;IAEjD,gEAAgE;IAChE,OAAO,CAAC,iBAAiB,CAAkC;IAE3D,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,QAAQ;IAO9B;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI7C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI3C;;OAEG;IACH,cAAc,IAAI,WAAW,EAAE;IAI/B;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAI7B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI3C;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAIzC;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIjD;;OAEG;IACH,kBAAkB,IAAI,WAAW,EAAE;IAInC;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAQ/C;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,GAAG,IAAI;IAavE;;;;;;OAMG;IACH,8BAA8B,IAAI,0BAA0B,EAAE;IAO9D;;;;;;OAMG;IACH,oBAAoB,IAAI,IAAI;CAG7B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAyB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/core/registry.js
CHANGED
|
@@ -7,6 +7,10 @@ const config_exceptions_1 = require("./exceptions/config.exceptions");
|
|
|
7
7
|
*
|
|
8
8
|
* Stores references to all decorated classes for auto-discovery.
|
|
9
9
|
* Controllers and providers register themselves here via decorators.
|
|
10
|
+
*
|
|
11
|
+
* The registry acts as a collection point during the decoration phase.
|
|
12
|
+
* Once the application initializes, the registered classes are processed
|
|
13
|
+
* and transferred to the DI container for resolution.
|
|
10
14
|
*/
|
|
11
15
|
class Registry {
|
|
12
16
|
static instance;
|
|
@@ -18,8 +22,6 @@ class Registry {
|
|
|
18
22
|
customProviders = new Set();
|
|
19
23
|
/** Map of config provider tokens to their class constructors */
|
|
20
24
|
configProviderMap = new Map();
|
|
21
|
-
/** Cache of instantiated config provider instances (singleton scope) */
|
|
22
|
-
configProviderInstances = new Map();
|
|
23
25
|
constructor() { }
|
|
24
26
|
static getInstance() {
|
|
25
27
|
if (!Registry.instance) {
|
|
@@ -110,73 +112,6 @@ class Registry {
|
|
|
110
112
|
}
|
|
111
113
|
this.configProviderMap.set(token, providerClass);
|
|
112
114
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Get a config provider instance by its token (singleton)
|
|
115
|
-
*
|
|
116
|
-
* If the provider hasn't been instantiated yet, it will be created and cached.
|
|
117
|
-
*
|
|
118
|
-
* @param token - The injection token
|
|
119
|
-
* @returns The config provider instance
|
|
120
|
-
* @throws {ConfigProviderNotFoundException} If the token is not registered
|
|
121
|
-
* @throws {ConfigProviderInstantiationException} If instantiation fails
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* ```typescript
|
|
125
|
-
* const config = registry.getConfigProvider<AppConfigProvider>('APP_CONFIG');
|
|
126
|
-
* ```
|
|
127
|
-
*/
|
|
128
|
-
getConfigProvider(token) {
|
|
129
|
-
// Check if already instantiated (singleton cache)
|
|
130
|
-
if (this.configProviderInstances.has(token)) {
|
|
131
|
-
return this.configProviderInstances.get(token);
|
|
132
|
-
}
|
|
133
|
-
// Check if registered
|
|
134
|
-
const providerClass = this.configProviderMap.get(token);
|
|
135
|
-
if (!providerClass) {
|
|
136
|
-
const availableTokens = Array.from(this.configProviderMap.keys());
|
|
137
|
-
throw new config_exceptions_1.ConfigProviderNotFoundException(token, availableTokens);
|
|
138
|
-
}
|
|
139
|
-
// Instantiate the provider
|
|
140
|
-
try {
|
|
141
|
-
const instance = new providerClass();
|
|
142
|
-
// Cache the instance (singleton scope)
|
|
143
|
-
this.configProviderInstances.set(token, instance);
|
|
144
|
-
return instance;
|
|
145
|
-
}
|
|
146
|
-
catch (error) {
|
|
147
|
-
throw new config_exceptions_1.ConfigProviderInstantiationException(token, providerClass.name, error);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Check if a config provider token is registered
|
|
152
|
-
*
|
|
153
|
-
* @param token - The injection token to check
|
|
154
|
-
* @returns True if the token is registered
|
|
155
|
-
*
|
|
156
|
-
* @example
|
|
157
|
-
* ```typescript
|
|
158
|
-
* if (registry.hasConfigProvider('APP_CONFIG')) {
|
|
159
|
-
* const config = registry.getConfigProvider('APP_CONFIG');
|
|
160
|
-
* }
|
|
161
|
-
* ```
|
|
162
|
-
*/
|
|
163
|
-
hasConfigProvider(token) {
|
|
164
|
-
return this.configProviderMap.has(token);
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Get all registered config provider tokens
|
|
168
|
-
*
|
|
169
|
-
* @returns Array of all registered tokens
|
|
170
|
-
*
|
|
171
|
-
* @example
|
|
172
|
-
* ```typescript
|
|
173
|
-
* const tokens = registry.getConfigProviderTokens();
|
|
174
|
-
* console.log('Available configs:', tokens);
|
|
175
|
-
* ```
|
|
176
|
-
*/
|
|
177
|
-
getConfigProviderTokens() {
|
|
178
|
-
return Array.from(this.configProviderMap.keys());
|
|
179
|
-
}
|
|
180
115
|
/**
|
|
181
116
|
* Get all registered config provider classes with their tokens
|
|
182
117
|
*
|
|
@@ -191,14 +126,14 @@ class Registry {
|
|
|
191
126
|
}));
|
|
192
127
|
}
|
|
193
128
|
/**
|
|
194
|
-
* Clear all config provider
|
|
129
|
+
* Clear all config provider registrations (useful for testing)
|
|
195
130
|
*
|
|
196
|
-
* This will
|
|
131
|
+
* This will remove all registered config providers
|
|
197
132
|
*
|
|
198
133
|
* @internal
|
|
199
134
|
*/
|
|
200
|
-
|
|
201
|
-
this.
|
|
135
|
+
clearConfigProviders() {
|
|
136
|
+
this.configProviderMap.clear();
|
|
202
137
|
}
|
|
203
138
|
}
|
|
204
139
|
exports.Registry = Registry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED