@t8n/iauth 1.0.1 → 1.0.2
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/index.js +2 -0
- package/package.json +1 -1
- package/titan.json +7 -0
- package/utils/registerExtension.js +44 -0
package/index.js
CHANGED
package/package.json
CHANGED
package/titan.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// utils/registerExtension.js
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Safely registers an extension in the global t object
|
|
5
|
+
* @param {string} extensionName - Unique name for the extension
|
|
6
|
+
* @param {any} extensionModule - The extension module/object to register
|
|
7
|
+
* @returns {boolean} True if registration was successful
|
|
8
|
+
*/
|
|
9
|
+
export function registerExtension(extensionName, extensionModule) {
|
|
10
|
+
// Check for global t object
|
|
11
|
+
if (typeof t === 'undefined') {
|
|
12
|
+
console.warn(`[registerExtension] Global 't' object not available. Cannot register: ${extensionName}`);
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Input validation
|
|
17
|
+
if (!extensionName || typeof extensionName !== 'string') {
|
|
18
|
+
console.error('[registerExtension] Invalid extension name provided');
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Check for naming conflicts
|
|
23
|
+
if (t[extensionName]) {
|
|
24
|
+
console.warn(`[registerExtension] '${extensionName}' already exists in global t object, overwriting`);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
// Register the extension
|
|
29
|
+
t[extensionName] = extensionModule;
|
|
30
|
+
|
|
31
|
+
console.log(`[registerExtension] Successfully registered '${extensionName}'`);
|
|
32
|
+
|
|
33
|
+
return true;
|
|
34
|
+
} catch (error) {
|
|
35
|
+
// Structured error reporting
|
|
36
|
+
console.error(`[registerExtension] Failed to register '${extensionName}':`, {
|
|
37
|
+
error: error.message,
|
|
38
|
+
extensionName,
|
|
39
|
+
moduleType: typeof extensionModule
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|