ngx-firestore-wrapper-kit 0.0.4 → 0.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.
@@ -29,8 +29,10 @@ class FirestoreDataService {
29
29
  * Listen realtime document changes
30
30
  */
31
31
  listenToDocument(pathSegments) {
32
- const documentRef = doc(this.firestore, pathSegments[0], ...pathSegments.slice(1));
33
- return runInInjectionContext(this.injector, () => docData(documentRef)).pipe(
32
+ return runInInjectionContext(this.injector, () => {
33
+ const documentRef = doc(this.firestore, pathSegments[0], ...pathSegments.slice(1));
34
+ return docData(documentRef);
35
+ }).pipe(
34
36
  // Cast the response to the expected type
35
37
  filter((response) => response != null),
36
38
  // Return the response
@@ -45,8 +47,10 @@ class FirestoreDataService {
45
47
  * Listen realtime collection changes
46
48
  */
47
49
  listenToCollection(collectionPath) {
48
- const collectionRef = collection(this.firestore, collectionPath[0], ...collectionPath.slice(1));
49
- return runInInjectionContext(this.injector, () => collectionChanges(collectionRef)).pipe(
50
+ return runInInjectionContext(this.injector, () => {
51
+ const collectionRef = collection(this.firestore, collectionPath[0], ...collectionPath.slice(1));
52
+ return collectionChanges(collectionRef);
53
+ }).pipe(
50
54
  // Cast the response to the expected type
51
55
  map((response) => ({ success: true, data: response, error: null })),
52
56
  // Handle errors
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-firestore-wrapper-kit.mjs","sources":["../../../projects/ngx-firestore-kit/src/lib/ngx-firestore-kit.ts","../../../projects/ngx-firestore-kit/src/lib/service/firestore-data.service.ts","../../../projects/ngx-firestore-kit/src/lib/service/firestore-providers.ts","../../../projects/ngx-firestore-kit/src/public-api.ts","../../../projects/ngx-firestore-kit/src/ngx-firestore-wrapper-kit.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-ngx-firestore-kit',\r\n imports: [],\r\n template: `\r\n <p>\r\n ngx-firestore-kit works!\r\n </p>\r\n `,\r\n styles: ``,\r\n})\r\nexport class NgxFirestoreKit {\r\n\r\n}\r\n","import { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\r\nimport { Firestore, collection, collectionChanges, doc, docData } from '@angular/fire/firestore';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, filter, map } from 'rxjs/operators';\r\n\r\nexport interface FirestoreResponse<T> {\r\n success: boolean;\r\n data: any;\r\n error: unknown;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class FirestoreDataService {\r\n\r\n private readonly firestore = inject(Firestore);\r\n private readonly injector = inject(Injector);\r\n\r\n /**\r\n * Listen realtime document changes\r\n */\r\n public listenToDocument<T>(pathSegments: string[]): Observable<FirestoreResponse<T>> {\r\n const documentRef = doc(this.firestore, pathSegments[0], ...pathSegments.slice(1));\r\n return runInInjectionContext(this.injector, () => docData(documentRef)).pipe(\r\n // Cast the response to the expected type\r\n filter((response) => response != null),\r\n // Return the response\r\n map((response) => ({ success: true, data: response, error: null })),\r\n // Handle errors\r\n catchError((error: unknown) => {\r\n console.error('[Firestore Document Listener Error]', error);\r\n return of({ success: false, data: null, error });\r\n })\r\n\r\n );\r\n }\r\n\r\n /**\r\n * Listen realtime collection changes\r\n */\r\n public listenToCollection<T>(collectionPath: string[]): Observable<FirestoreResponse<T[]>> {\r\n const collectionRef = collection(this.firestore, collectionPath[0], ...collectionPath.slice(1));\r\n return runInInjectionContext(this.injector, () => collectionChanges(collectionRef)).pipe(\r\n // Cast the response to the expected type\r\n map((response) => ({ success: true, data: response, error: null })),\r\n // Handle errors\r\n catchError((error: unknown) => {\r\n console.error('[Firestore Collection Listener Error]', error);\r\n return of({ success: false, data: null, error });\r\n })\r\n );\r\n }\r\n}","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\r\nimport { initializeApp, provideFirebaseApp } from '@angular/fire/app';\r\nimport { getFirestore, provideFirestore } from '@angular/fire/firestore';\r\n\r\n/**\r\n * Custom library provider that configures and initializes Firebase and Firestore \r\n * behind the scenes for the consuming application.\r\n */\r\nexport function provideFirestoreKit(firebaseConfig: any): EnvironmentProviders {\r\n return makeEnvironmentProviders([\r\n // The library handles the Angular Fire initialization boilerplate internally\r\n provideFirebaseApp(() => initializeApp(firebaseConfig)),\r\n provideFirestore(() => getFirestore())\r\n ]);\r\n}","/*\r\n * Public API Surface of ngx-firestore-kit\r\n */\r\n\r\nexport * from './lib/ngx-firestore-kit';\r\nexport * from './lib/service/firestore-data.service';\r\nexport * from './lib/service/firestore-providers';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-firestore-wrapper-kit.mjs","sources":["../../../projects/ngx-firestore-kit/src/lib/ngx-firestore-kit.ts","../../../projects/ngx-firestore-kit/src/lib/service/firestore-data.service.ts","../../../projects/ngx-firestore-kit/src/lib/service/firestore-providers.ts","../../../projects/ngx-firestore-kit/src/public-api.ts","../../../projects/ngx-firestore-kit/src/ngx-firestore-wrapper-kit.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-ngx-firestore-kit',\r\n imports: [],\r\n template: `\r\n <p>\r\n ngx-firestore-kit works!\r\n </p>\r\n `,\r\n styles: ``,\r\n})\r\nexport class NgxFirestoreKit {\r\n\r\n}\r\n","import { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\r\nimport { Firestore, collection, collectionChanges, doc, docData } from '@angular/fire/firestore';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, filter, map } from 'rxjs/operators';\r\n\r\nexport interface FirestoreResponse<T> {\r\n success: boolean;\r\n data: any;\r\n error: unknown;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class FirestoreDataService {\r\n\r\n private readonly firestore = inject(Firestore);\r\n private readonly injector = inject(Injector);\r\n\r\n /**\r\n * Listen realtime document changes\r\n */\r\n public listenToDocument<T>(pathSegments: string[]): Observable<FirestoreResponse<T>> {\r\n return runInInjectionContext(this.injector, () => {\r\n const documentRef = doc(this.firestore, pathSegments[0], ...pathSegments.slice(1));\r\n return docData(documentRef);\r\n }).pipe(\r\n // Cast the response to the expected type\r\n filter((response) => response != null),\r\n // Return the response\r\n map((response) => ({ success: true, data: response, error: null })),\r\n // Handle errors\r\n catchError((error: unknown) => {\r\n console.error('[Firestore Document Listener Error]', error);\r\n return of({ success: false, data: null, error });\r\n })\r\n\r\n );\r\n }\r\n\r\n /**\r\n * Listen realtime collection changes\r\n */\r\n public listenToCollection<T>(collectionPath: string[]): Observable<FirestoreResponse<T[]>> {\r\n return runInInjectionContext(this.injector, () => {\r\n const collectionRef = collection(this.firestore, collectionPath[0], ...collectionPath.slice(1));\r\n return collectionChanges(collectionRef);\r\n }).pipe(\r\n // Cast the response to the expected type\r\n map((response) => ({ success: true, data: response, error: null })),\r\n // Handle errors\r\n catchError((error: unknown) => {\r\n console.error('[Firestore Collection Listener Error]', error);\r\n return of({ success: false, data: null, error });\r\n })\r\n );\r\n }\r\n}","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\r\nimport { initializeApp, provideFirebaseApp } from '@angular/fire/app';\r\nimport { getFirestore, provideFirestore } from '@angular/fire/firestore';\r\n\r\n/**\r\n * Custom library provider that configures and initializes Firebase and Firestore \r\n * behind the scenes for the consuming application.\r\n */\r\nexport function provideFirestoreKit(firebaseConfig: any): EnvironmentProviders {\r\n return makeEnvironmentProviders([\r\n // The library handles the Angular Fire initialization boilerplate internally\r\n provideFirebaseApp(() => initializeApp(firebaseConfig)),\r\n provideFirestore(() => getFirestore())\r\n ]);\r\n}","/*\r\n * Public API Surface of ngx-firestore-kit\r\n */\r\n\r\nexport * from './lib/ngx-firestore-kit';\r\nexport * from './lib/service/firestore-data.service';\r\nexport * from './lib/service/firestore-providers';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-firestore-wrapper-kit",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0",
6
6
  "@angular/core": "^20.3.0",