@sofiakb/fireblaze-ts 2.0.0 → 2.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.
@@ -3,16 +3,19 @@ import { Auth } from "firebase/auth";
3
3
  import { FirebaseStorage } from "firebase/storage";
4
4
  import FirebaseConfig from "./firebase-config";
5
5
  export default class Firebase {
6
+ private static instance;
7
+ private static appInstance;
8
+ private static authInstance;
9
+ private static storageInstance;
6
10
  config: FirebaseConfig;
7
11
  app: FirebaseApp;
8
12
  auth?: Auth;
9
13
  storage?: FirebaseStorage;
10
14
  constructor(config: FirebaseConfig);
11
- saveGlobally(): void;
12
- withAuth(): void;
13
- withStorage(): void;
14
15
  static get(): Firebase;
15
16
  static getApp(): FirebaseApp;
16
17
  static getAuth(): Auth;
17
18
  static getStorage(): FirebaseStorage;
19
+ withAuth(): this;
20
+ withStorage(): this;
18
21
  }
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /*
4
- * @sofiakb/fireblaze-ts
5
- *
6
- * (c) Sofiakb <contact.sofiakb@gmail.com>
7
- *
8
- * Created by WebStorm on 21/09/2022 at 10:04
9
- * File src/core/firebase
10
- */
11
3
  const app_1 = require("firebase/app");
12
4
  const firestore_1 = require("firebase/firestore");
13
5
  const auth_1 = require("firebase/auth");
14
6
  const storage_1 = require("firebase/storage");
15
7
  class Firebase {
8
+ static instance = null;
9
+ static appInstance = null;
10
+ static authInstance = null;
11
+ static storageInstance = null;
16
12
  config;
17
13
  app;
18
14
  auth;
@@ -20,41 +16,50 @@ class Firebase {
20
16
  constructor(config) {
21
17
  this.config = config;
22
18
  this.app = (0, app_1.initializeApp)(this.config);
23
- if (config.withEmulator === true)
24
- (0, firestore_1.connectFirestoreEmulator)((0, firestore_1.getFirestore)(), "localhost", config.emulators?.ports?.firestore ?? 9100);
25
- this.saveGlobally();
19
+ if (config.withEmulator === true) {
20
+ (0, firestore_1.connectFirestoreEmulator)((0, firestore_1.getFirestore)(this.app), "localhost", config.emulators?.ports?.firestore ?? 9100);
21
+ }
22
+ // Sauvegarde dans les propriétés statiques
23
+ Firebase.instance = this;
24
+ Firebase.appInstance = this.app;
26
25
  }
27
- saveGlobally() {
28
- globalThis.__sofiakb_firebase = this;
29
- globalThis.__sofiakb_firebase_app = this.app;
30
- globalThis.__sofiakb_firebase_auth = this.auth;
31
- globalThis.__sofiakb_firebase_storage = this.storage;
26
+ static get() {
27
+ if (!Firebase.instance)
28
+ throw new Error("Firebase n'est pas initialisé.");
29
+ return Firebase.instance;
30
+ }
31
+ static getApp() {
32
+ if (!Firebase.appInstance)
33
+ throw new Error("FirebaseApp n'est pas initialisé.");
34
+ return Firebase.appInstance;
35
+ }
36
+ static getAuth() {
37
+ if (!Firebase.authInstance)
38
+ throw new Error("FirebaseAuth n'est pas initialisé.");
39
+ return Firebase.authInstance;
40
+ }
41
+ static getStorage() {
42
+ if (!Firebase.storageInstance)
43
+ throw new Error("FirebaseStorage n'est pas initialisé.");
44
+ return Firebase.storageInstance;
32
45
  }
33
46
  withAuth() {
34
47
  this.auth = (0, auth_1.getAuth)(this.app);
35
- if (this.config.withEmulator === true && !!this.config.emulators?.auth?.url)
48
+ if (this.config.withEmulator === true && !!this.config.emulators?.auth?.url) {
36
49
  (0, auth_1.connectAuthEmulator)(this.auth, this.config.emulators.auth.url);
37
- this.saveGlobally();
50
+ }
51
+ Firebase.authInstance = this.auth;
52
+ return this; // Permet le chaînage optionnel : new Firebase(config).withAuth().withStorage()
38
53
  }
39
54
  withStorage() {
40
55
  this.storage = (0, storage_1.getStorage)(this.app);
41
56
  if (this.config.withEmulator === true &&
42
57
  !!this.config.emulators?.storage?.host &&
43
- !!this.config.emulators?.storage?.port)
58
+ !!this.config.emulators?.storage?.port) {
44
59
  (0, storage_1.connectStorageEmulator)(this.storage, this.config.emulators.storage.host, this.config.emulators.storage.port);
45
- this.saveGlobally();
46
- }
47
- static get() {
48
- return globalThis.__sofiakb_firebase;
49
- }
50
- static getApp() {
51
- return globalThis.__sofiakb_firebase_app;
52
- }
53
- static getAuth() {
54
- return globalThis.__sofiakb_firebase_auth;
55
- }
56
- static getStorage() {
57
- return globalThis.__sofiakb_firebase_storage;
60
+ }
61
+ Firebase.storageInstance = this.storage;
62
+ return this;
58
63
  }
59
64
  }
60
65
  exports.default = Firebase;
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/core/firebase.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;GAOG;AAEH,sCAA0D;AAC1D,kDAA4E;AAE5E,wCAAmE;AACnE,8CAAuF;AAIvF,MAAqB,QAAQ;IAC5B,MAAM,CAAiB;IACvB,GAAG,CAAc;IAEjB,IAAI,CAAQ;IACZ,OAAO,CAAmB;IAE1B,YAAY,MAAsB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,GAAG,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;YAC/B,IAAA,oCAAwB,EAAC,IAAA,wBAAY,GAAE,EAAE,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QAEnG,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,YAAY;QACV,UAAkB,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC7C,UAAkB,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC;QACrD,UAAkB,CAAC,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC;QACvD,UAAkB,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC;IAC/D,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG;YAC1E,IAAA,0BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,OAAO,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IACC,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI;YACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI;YACtC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI;YAEtC,IAAA,gCAAsB,EACrB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAG;QACT,OAAQ,UAAkB,CAAC,kBAAkB,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,MAAM;QACZ,OAAQ,UAAkB,CAAC,sBAAsB,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,OAAO;QACb,OAAQ,UAAkB,CAAC,uBAAuB,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,UAAU;QAChB,OAAQ,UAAkB,CAAC,0BAA0B,CAAC;IACvD,CAAC;CACD;AA9DD,2BA8DC"}
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/core/firebase.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- /*
7
- * @sofiakb/fireblaze-ts
8
- *
9
- * (c) Sofiakb <contact.sofiakb@gmail.com>
10
- *
11
- * Created by WebStorm on 25/03/2026 at 00:00
12
- * File src/core/storage-repository
13
- */
14
6
  const storage_1 = require("firebase/storage");
15
7
  const firebase_1 = __importDefault(require("./firebase"));
16
8
  const no_firebase_instance_exception_1 = __importDefault(require("../exceptions/no-firebase-instance-exception"));
@@ -1 +1 @@
1
- {"version":3,"file":"storage-repository.js","sourceRoot":"","sources":["../../src/core/storage-repository.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb;;;;;;;GAOG;AAEH,8CAU0B;AAE1B,0DAAkC;AAClC,kHAAuF;AAEvF,MAAqB,iBAAiB;IAC5B,QAAQ,CAAkB;IAEnC,YAAY,OAAyB;QACpC,MAAM,QAAQ,GAAG,OAAO,IAAI,kBAAQ,CAAC,UAAU,EAAE,CAAC;QAElD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,wCAA2B,EAAE,CAAC;QAEvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,IAAY;QACf,OAAO,IAAA,aAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAA8B,EAAE,IAAY,EAAE,QAAyB;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,IAAA,wBAAc,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,IAA8B,EAAE,IAAY,EAAE,QAAyB;QACtF,OAAO,IAAA,8BAAoB,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAA,sBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;CACD;AApCD,oCAoCC"}
1
+ {"version":3,"file":"storage-repository.js","sourceRoot":"","sources":["../../src/core/storage-repository.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,8CAU0B;AAE1B,0DAAkC;AAClC,kHAAuF;AAEvF,MAAqB,iBAAiB;IAC5B,QAAQ,CAAkB;IAEnC,YAAY,OAAyB;QACpC,MAAM,QAAQ,GAAG,OAAO,IAAI,kBAAQ,CAAC,UAAU,EAAE,CAAC;QAElD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,wCAA2B,EAAE,CAAC;QAEvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,IAAY;QACf,OAAO,IAAA,aAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAA8B,EAAE,IAAY,EAAE,QAAyB;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,IAAA,wBAAc,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,IAA8B,EAAE,IAAY,EAAE,QAAyB;QACtF,OAAO,IAAA,8BAAoB,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAA,sBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;CACD;AApCD,oCAoCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sofiakb/fireblaze-ts",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "A typescript library for axios API calls.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",