@t8n/iauth 1.0.4 → 1.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jwt, url } from "@titanpl/native"
2
2
  import "@titanpl/node/globals"
3
3
  import bcrypt from "bcryptjs"
4
- import { registerExtension } from "./utils/registerExtension.js";
4
+ import { registerExtension } from "./utils/registerExtension";
5
5
 
6
6
  const oauthProviders = {
7
7
  google: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t8n/iauth",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "An intelligent auth extension for TitanPL framework.",
5
5
  "keywords": [
6
6
  "auth",
@@ -12,7 +12,8 @@
12
12
  "files": [
13
13
  "index.js",
14
14
  "index.d.ts",
15
- "titan.json"
15
+ "titan.json",
16
+ "/utils"
16
17
  ],
17
18
  "license": "ISC",
18
19
  "author": "ezetgalaxy",
package/titan.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t8n/iauth",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "main": "index.js",
5
5
  "description": "A inteligent auth extension for TitanPl framework."
6
6
  }
@@ -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
+ }