@nx-ddd/firestore-angular-adapter 19.50.0 → 19.80.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.
@@ -112,7 +112,6 @@ class AngularFirestoreAdapter extends FirestoreAdapter {
112
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AngularFirestoreAdapter, decorators: [{
113
113
  type: Injectable
114
114
  }] });
115
- /** @deprecated use `provideFirestoreAdapter()` instead. */
116
115
  function provideAngularFirestoreAdapter() {
117
116
  return { provide: FirestoreAdapter, useClass: AngularFirestoreAdapter };
118
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nx-ddd-firestore-angular-adapter.mjs","sources":["../../../../../packages/@nx-ddd/firestore-angular-adapter/src/lib/angular-firestore.adapter.ts","../../../../../packages/@nx-ddd/firestore-angular-adapter/src/nx-ddd-firestore-angular-adapter.ts"],"sourcesContent":["import { inject, Injectable, Provider } from '@angular/core';\nimport { \n doc, collection, collectionGroup,\n Timestamp, setDoc, getDoc, deleteDoc, getDocs, \n onSnapshot, updateDoc, Firestore, runTransaction, writeBatch,\n limit, orderBy, query, where, QuerySnapshot, FieldPath, documentId, FieldValue, serverTimestamp,\n getCountFromServer\n} from '@angular/fire/firestore';\nimport {\n FirestoreAdapter,\n QueryFn as _QueryFn,\n WhereFilterOp,\n provideFirestoreAdapter as _provideFirestoreAdapter,\n} from '@nx-ddd/firestore';\nimport {\n DocumentSnapshot,\n CollectionReference as _CollectionReference,\n CollectionGroup as _CollectionGroup,\n Query as _Query,\n DocumentData,\n DocumentReference,\n} from '@nx-ddd/firestore';\nimport dayjs from 'dayjs';\nimport { Observable, map, tap, filter } from 'rxjs';\nimport type firestore from 'firebase/firestore';\n\ntype CollectionReference<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n> = _CollectionReference<AppModelType, DbModelType, firestore.CollectionReference<AppModelType, DbModelType>>;\n\ntype CollectionGroup<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n> = _CollectionGroup<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;\n\ntype Query<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n> = _Query<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;\n\ntype QueryFn<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n> = _QueryFn<AppModelType, DbModelType, firestore.QueryConstraint>\n\ntype Origin<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n> = firestore.CollectionReference<AppModelType, DbModelType>\n | firestore.Query<AppModelType, DbModelType>;\n\ntype CollectionLike<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n> = CollectionReference<AppModelType, DbModelType> \n | CollectionGroup<AppModelType, DbModelType>\n | Query<AppModelType, DbModelType>;\n\n// Utility type to map Origin to CollectionLike\ntype InferCollectionLike<O extends Origin> = \n O extends firestore.CollectionReference<infer A, infer B> ? CollectionReference<A, B> :\n O extends firestore.Query<infer A, infer B> ? Query<A, B> :\n never;\n\n\nfunction asObservable<T = unknown>(\n ref: Parameters<typeof onSnapshot>[0],\n _onSnapshot: typeof onSnapshot,\n): Observable<QuerySnapshot<T>> {\n return new Observable<QuerySnapshot<T>>((observer) => _onSnapshot(\n ref, \n (value: any) => observer.next(value),\n (error: any) => observer.error(error),\n () => observer.complete()),\n );\n}\n\nexport function wrapDocumentReference<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n>(origin: firestore.DocumentReference<AppModelType, DbModelType>): DocumentReference<AppModelType, DbModelType> {\n return {\n __ref: origin,\n exists: () => getDoc(origin).then(snapshot => snapshot.exists()),\n set: (data) => setDoc(origin, data),\n get: () => getDoc(origin),\n update: (data) => updateDoc(origin, data as any),\n delete: () => deleteDoc(origin),\n stateChanges: () => {\n return new Observable<DocumentSnapshot<any>>((observer) => {\n return onSnapshot(origin, value => observer.next(value), error => observer.error(error), () => observer.complete());\n }).pipe(\n filter((snapshot: any) => snapshot.exists()),\n map((snapshot) => ({\n id: snapshot.id,\n ref: snapshot.ref,\n data: () => snapshot.data(),\n get: (fieldPath: string) => snapshot.get(fieldPath),\n })),\n );\n },\n }\n}\n\nexport function wrapCollectionLike<\n O extends Origin,\n>(origin: O): InferCollectionLike<O> {\n return {\n __ref: origin,\n stateChanges: () => asObservable<unknown>(origin, onSnapshot).pipe(\n map((snapshot) => snapshot.docChanges().map(change => ({\n type: change.type, payload: {doc: change.doc},\n }))),\n ),\n get: () => getDocs(origin),\n count: () => getCountFromServer(origin).then(count => count.data().count),\n } as never as InferCollectionLike<O>;\n}\n\nexport function unwrapCollectionLike<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n>(\n collection: CollectionLike<AppModelType, DbModelType>\n): Origin<AppModelType, DbModelType> {\n return collection.__ref!;\n}\n\n@Injectable()\nexport class AngularFirestoreAdapter extends FirestoreAdapter<dayjs.Dayjs> {\n protected readonly firestore = inject(Firestore);\n\n get FieldValue(): typeof FieldValue & {serverTimestamp: () => FieldValue} {\n return Object.assign(FieldValue, {serverTimestamp});\n }\n\n get Timestamp(): typeof Timestamp {\n return Timestamp; \n }\n\n get FieldPath(): {documentId: () => FieldPath} {\n return {\n documentId: () => documentId(),\n };\n }\n\n protected isTimestamp(v: any): v is Timestamp {\n return v instanceof Timestamp;\n }\n\n protected isFieldValue(v: any): v is FieldValue {\n return v instanceof this.FieldValue;\n }\n \n protected isDate(v: any): v is dayjs.Dayjs {\n return dayjs.isDayjs(v);\n }\n\n doc<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(path: string): DocumentReference<AppModelType, DbModelType> {\n const docRef = doc(this.firestore, path);\n return wrapDocumentReference(docRef) as DocumentReference<AppModelType, DbModelType>;\n }\n\n collection<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(path: string): CollectionReference<AppModelType, DbModelType> {\n const ref = collection(this.firestore, path);\n return wrapCollectionLike(ref) as CollectionReference<AppModelType, DbModelType>;\n }\n\n collectionGroup<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(collectionId: string): CollectionGroup<AppModelType, DbModelType> {\n const ref = collectionGroup(this.firestore, collectionId);\n return wrapCollectionLike(ref) as CollectionGroup<AppModelType, DbModelType>;\n }\n\n query<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(\n collection: CollectionReference<AppModelType, DbModelType>,\n ...queryFnArray: QueryFn[]\n ): Query<AppModelType, DbModelType> {\n const ref = unwrapCollectionLike(collection) as firestore.Query<DocumentData, DbModelType>;\n const _query = query(ref, ...queryFnArray.map(queryFn => queryFn()));\n return wrapCollectionLike(_query) as Query<AppModelType, DbModelType>;\n }\n\n where<Data>(fieldPath: string, opStr: WhereFilterOp, value: unknown): QueryFn<Data> {\n return () => where(fieldPath, opStr, value);\n }\n\n orderBy<Data>(key: string, order: 'asc' | 'desc' = 'asc'): QueryFn<Data> {\n return () => orderBy(key, order);\n }\n\n limit<Data>(n: number): QueryFn<Data> {\n return () => limit(n);\n }\n\n runTransaction(fn: Parameters<typeof runTransaction>[1]) {\n return runTransaction(this.firestore, fn);\n }\n\n batch() {\n const batch = writeBatch(this.firestore);\n const wrapBatch = (_batch: firestore.WriteBatch) => ({\n create: (ref: any, data: any) => wrapBatch(_batch.set(ref, data)),\n set: (ref: any, data: any) => wrapBatch(_batch.set(ref, data)),\n update: (ref: any, data: any) => wrapBatch(_batch.update(ref, data)),\n delete: (ref: any) => wrapBatch(_batch.delete(ref)),\n commit: () => _batch.commit(),\n })\n return wrapBatch(batch);\n }\n}\n\n/** @deprecated use `provideFirestoreAdapter()` instead. */\nexport function provideAngularFirestoreAdapter(): Provider {\n return { provide: FirestoreAdapter, useClass: AngularFirestoreAdapter };\n}\n\nexport function provideFirestoreAdapter(): Provider {\n return _provideFirestoreAdapter(AngularFirestoreAdapter);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_provideFirestoreAdapter"],"mappings":"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"}
1
+ {"version":3,"file":"nx-ddd-firestore-angular-adapter.mjs","sources":["../../../../../packages/@nx-ddd/firestore-angular-adapter/src/lib/angular-firestore.adapter.ts","../../../../../packages/@nx-ddd/firestore-angular-adapter/src/nx-ddd-firestore-angular-adapter.ts"],"sourcesContent":["import { inject, Injectable, Provider } from '@angular/core';\nimport { \n doc, collection, collectionGroup,\n Timestamp, setDoc, getDoc, deleteDoc, getDocs, \n onSnapshot, updateDoc, Firestore, runTransaction, writeBatch,\n limit, orderBy, query, where, QuerySnapshot, FieldPath, documentId, FieldValue, serverTimestamp,\n getCountFromServer\n} from '@angular/fire/firestore';\nimport {\n FirestoreAdapter,\n QueryFn as _QueryFn,\n WhereFilterOp,\n provideFirestoreAdapter as _provideFirestoreAdapter,\n} from '@nx-ddd/firestore';\nimport {\n DocumentSnapshot,\n CollectionReference as _CollectionReference,\n CollectionGroup as _CollectionGroup,\n Query as _Query,\n DocumentData,\n DocumentReference,\n} from '@nx-ddd/firestore';\nimport dayjs from 'dayjs';\nimport { Observable, map, tap, filter } from 'rxjs';\nimport type firestore from 'firebase/firestore';\n\ntype CollectionReference<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n> = _CollectionReference<AppModelType, DbModelType, firestore.CollectionReference<AppModelType, DbModelType>>;\n\ntype CollectionGroup<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n> = _CollectionGroup<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;\n\ntype Query<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n> = _Query<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;\n\ntype QueryFn<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n> = _QueryFn<AppModelType, DbModelType, firestore.QueryConstraint>\n\ntype Origin<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n> = firestore.CollectionReference<AppModelType, DbModelType>\n | firestore.Query<AppModelType, DbModelType>;\n\ntype CollectionLike<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n> = CollectionReference<AppModelType, DbModelType> \n | CollectionGroup<AppModelType, DbModelType>\n | Query<AppModelType, DbModelType>;\n\n\ntype InferCollectionLike<O extends Origin> = \n O extends firestore.CollectionReference<infer A, infer B> ? CollectionReference<A, B> :\n O extends firestore.Query<infer A, infer B> ? Query<A, B> :\n never;\n\n\nfunction asObservable<T = unknown>(\n ref: Parameters<typeof onSnapshot>[0],\n _onSnapshot: typeof onSnapshot,\n): Observable<QuerySnapshot<T>> {\n return new Observable<QuerySnapshot<T>>((observer) => _onSnapshot(\n ref, \n (value: any) => observer.next(value),\n (error: any) => observer.error(error),\n () => observer.complete()),\n );\n}\n\nexport function wrapDocumentReference<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n>(origin: firestore.DocumentReference<AppModelType, DbModelType>): DocumentReference<AppModelType, DbModelType> {\n return {\n __ref: origin,\n exists: () => getDoc(origin).then(snapshot => snapshot.exists()),\n set: (data) => setDoc(origin, data),\n get: () => getDoc(origin),\n update: (data) => updateDoc(origin, data as any),\n delete: () => deleteDoc(origin),\n stateChanges: () => {\n return new Observable<DocumentSnapshot<any>>((observer) => {\n return onSnapshot(origin, value => observer.next(value), error => observer.error(error), () => observer.complete());\n }).pipe(\n filter((snapshot: any) => snapshot.exists()),\n map((snapshot) => ({\n id: snapshot.id,\n ref: snapshot.ref,\n data: () => snapshot.data(),\n get: (fieldPath: string) => snapshot.get(fieldPath),\n })),\n );\n },\n }\n}\n\nexport function wrapCollectionLike<\n O extends Origin,\n>(origin: O): InferCollectionLike<O> {\n return {\n __ref: origin,\n stateChanges: () => asObservable<unknown>(origin, onSnapshot).pipe(\n map((snapshot) => snapshot.docChanges().map(change => ({\n type: change.type, payload: {doc: change.doc},\n }))),\n ),\n get: () => getDocs(origin),\n count: () => getCountFromServer(origin).then(count => count.data().count),\n } as never as InferCollectionLike<O>;\n}\n\nexport function unwrapCollectionLike<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData\n>(\n collection: CollectionLike<AppModelType, DbModelType>\n): Origin<AppModelType, DbModelType> {\n return collection.__ref!;\n}\n\n@Injectable()\nexport class AngularFirestoreAdapter extends FirestoreAdapter<dayjs.Dayjs> {\n protected readonly firestore = inject(Firestore);\n\n get FieldValue(): typeof FieldValue & {serverTimestamp: () => FieldValue} {\n return Object.assign(FieldValue, {serverTimestamp});\n }\n\n get Timestamp(): typeof Timestamp {\n return Timestamp; \n }\n\n get FieldPath(): {documentId: () => FieldPath} {\n return {\n documentId: () => documentId(),\n };\n }\n\n protected isTimestamp(v: any): v is Timestamp {\n return v instanceof Timestamp;\n }\n\n protected isFieldValue(v: any): v is FieldValue {\n return v instanceof this.FieldValue;\n }\n \n protected isDate(v: any): v is dayjs.Dayjs {\n return dayjs.isDayjs(v);\n }\n\n doc<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(path: string): DocumentReference<AppModelType, DbModelType> {\n const docRef = doc(this.firestore, path);\n return wrapDocumentReference(docRef) as DocumentReference<AppModelType, DbModelType>;\n }\n\n collection<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(path: string): CollectionReference<AppModelType, DbModelType> {\n const ref = collection(this.firestore, path);\n return wrapCollectionLike(ref) as CollectionReference<AppModelType, DbModelType>;\n }\n\n collectionGroup<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(collectionId: string): CollectionGroup<AppModelType, DbModelType> {\n const ref = collectionGroup(this.firestore, collectionId);\n return wrapCollectionLike(ref) as CollectionGroup<AppModelType, DbModelType>;\n }\n\n query<\n AppModelType = DocumentData,\n DbModelType extends DocumentData = DocumentData,\n >(\n collection: CollectionReference<AppModelType, DbModelType>,\n ...queryFnArray: QueryFn[]\n ): Query<AppModelType, DbModelType> {\n const ref = unwrapCollectionLike(collection) as firestore.Query<DocumentData, DbModelType>;\n const _query = query(ref, ...queryFnArray.map(queryFn => queryFn()));\n return wrapCollectionLike(_query) as Query<AppModelType, DbModelType>;\n }\n\n where<Data>(fieldPath: string, opStr: WhereFilterOp, value: unknown): QueryFn<Data> {\n return () => where(fieldPath, opStr, value);\n }\n\n orderBy<Data>(key: string, order: 'asc' | 'desc' = 'asc'): QueryFn<Data> {\n return () => orderBy(key, order);\n }\n\n limit<Data>(n: number): QueryFn<Data> {\n return () => limit(n);\n }\n\n runTransaction(fn: Parameters<typeof runTransaction>[1]) {\n return runTransaction(this.firestore, fn);\n }\n\n batch() {\n const batch = writeBatch(this.firestore);\n const wrapBatch = (_batch: firestore.WriteBatch) => ({\n create: (ref: any, data: any) => wrapBatch(_batch.set(ref, data)),\n set: (ref: any, data: any) => wrapBatch(_batch.set(ref, data)),\n update: (ref: any, data: any) => wrapBatch(_batch.update(ref, data)),\n delete: (ref: any) => wrapBatch(_batch.delete(ref)),\n commit: () => _batch.commit(),\n })\n return wrapBatch(batch);\n }\n}\n\n\nexport function provideAngularFirestoreAdapter(): Provider {\n return { provide: FirestoreAdapter, useClass: AngularFirestoreAdapter };\n}\n\nexport function provideFirestoreAdapter(): Provider {\n return _provideFirestoreAdapter(AngularFirestoreAdapter);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_provideFirestoreAdapter"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx-ddd/firestore-angular-adapter",
3
- "version": "19.50.0",
3
+ "version": "19.80.0",
4
4
  "homepage": "https://github.com/xx-machina/plaform/tree/main/packages/@nx-ddd/firestore-angular-adapter",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,7 +9,7 @@
9
9
  "peerDependencies": {
10
10
  "@angular/core": "20.0.5",
11
11
  "@angular/fire": "20.0.2",
12
- "@nx-ddd/firestore": "19.50.0",
12
+ "@nx-ddd/firestore": "19.80.0",
13
13
  "dayjs": "1.11.13",
14
14
  "rxjs": "^7.0.0",
15
15
  "firebase": "^10.7.0"
@@ -45,7 +45,6 @@ declare class AngularFirestoreAdapter extends FirestoreAdapter<dayjs.Dayjs> {
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularFirestoreAdapter, never>;
46
46
  static ɵprov: i0.ɵɵInjectableDeclaration<AngularFirestoreAdapter>;
47
47
  }
48
- /** @deprecated use `provideFirestoreAdapter()` instead. */
49
48
  declare function provideAngularFirestoreAdapter(): Provider;
50
49
  declare function provideFirestoreAdapter(): Provider;
51
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"nx-ddd-firestore-angular-adapter.d.ts","sources":["../../../../../packages/@nx-ddd/firestore-angular-adapter/src/lib/angular-firestore.adapter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AA0BA;AAKA;AAKA;AAKA;AAKA;AAMA;AAQA;AAkBA;AA2BA;AAeA;AASA;AAEE;AAEA;;;AAIA;AAIA;;;;;;;;;AA0CA;AAYA;AAIA;;;;AAekB;AACH;AACG;;;;;;AAMnB;AAED;AACA;AAIA;;"}
1
+ {"version":3,"file":"nx-ddd-firestore-angular-adapter.d.ts","sources":["../../../../../packages/@nx-ddd/firestore-angular-adapter/src/lib/angular-firestore.adapter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AA0BA;AAKA;AAKA;AAKA;AAKA;AAMA;AAQA;AAkBA;AA2BA;AAeA;AASA;AAEE;AAEA;;;AAIA;AAIA;;;;;;;;;AA0CA;AAYA;AAIA;;;;AAekB;AACH;AACG;;;;;;AAMnB;AAGD;AAIA;;"}