@nx-ddd/firestore-angular-adapter 19.0.0-preview.9 → 19.1.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.
@@ -66,12 +66,6 @@ class AngularFirestoreAdapter extends FirestoreAdapter {
66
66
  isDate(v) {
67
67
  return dayjs.isDayjs(v);
68
68
  }
69
- convertDateToTimestamp(date) {
70
- return Timestamp.fromDate(date.toDate());
71
- }
72
- convertTimestampToDate(timestamp) {
73
- return dayjs(timestamp.toDate());
74
- }
75
69
  doc(path) {
76
70
  const docRef = doc(this.firestore, path);
77
71
  return wrapDocumentReference(docRef);
@@ -112,10 +106,10 @@ class AngularFirestoreAdapter extends FirestoreAdapter {
112
106
  });
113
107
  return wrapBatch(batch);
114
108
  }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AngularFirestoreAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
116
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AngularFirestoreAdapter }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AngularFirestoreAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AngularFirestoreAdapter }); }
117
111
  }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AngularFirestoreAdapter, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AngularFirestoreAdapter, decorators: [{
119
113
  type: Injectable
120
114
  }] });
121
115
  /** @deprecated use `provideFirestoreAdapter()` instead. */
@@ -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/adapters/base';\nimport {\n DocumentSnapshot,\n CollectionReference as _CollectionReference,\n CollectionGroup as _CollectionGroup,\n Query as _Query,\n DocumentData,\n DocumentReference,\n} from '@nx-ddd/firestore/interfaces';\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 convertDateToTimestamp(date: dayjs.Dayjs): Timestamp {\n return Timestamp.fromDate(date.toDate());\n }\n\n convertTimestampToDate(timestamp: Timestamp): dayjs.Dayjs {\n return dayjs(timestamp.toDate());\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":["../tmp-esm2022/lib/angular-firestore.adapter.js","../tmp-esm2022/nx-ddd-firestore-angular-adapter.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { doc, collection, collectionGroup, Timestamp, setDoc, getDoc, deleteDoc, getDocs, onSnapshot, updateDoc, Firestore, runTransaction, writeBatch, limit, orderBy, query, where, documentId, FieldValue, serverTimestamp, getCountFromServer } from '@angular/fire/firestore';\nimport { FirestoreAdapter, provideFirestoreAdapter as _provideFirestoreAdapter, } from '@nx-ddd/firestore/adapters/base';\nimport dayjs from 'dayjs';\nimport { Observable, map, filter } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nfunction asObservable(ref, _onSnapshot) {\n return new Observable((observer) => _onSnapshot(ref, (value) => observer.next(value), (error) => observer.error(error), () => observer.complete()));\n}\nexport function wrapDocumentReference(origin) {\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),\n delete: () => deleteDoc(origin),\n stateChanges: () => {\n return new Observable((observer) => {\n return onSnapshot(origin, value => observer.next(value), error => observer.error(error), () => observer.complete());\n }).pipe(filter((snapshot) => snapshot.exists()), map((snapshot) => ({\n id: snapshot.id,\n ref: snapshot.ref,\n data: () => snapshot.data(),\n get: (fieldPath) => snapshot.get(fieldPath),\n })));\n },\n };\n}\nexport function wrapCollectionLike(origin) {\n return {\n __ref: origin,\n stateChanges: () => asObservable(origin, onSnapshot).pipe(map((snapshot) => snapshot.docChanges().map(change => ({\n type: change.type, payload: { doc: change.doc },\n })))),\n get: () => getDocs(origin),\n count: () => getCountFromServer(origin).then(count => count.data().count),\n };\n}\nexport function unwrapCollectionLike(collection) {\n return collection.__ref;\n}\nexport class AngularFirestoreAdapter extends FirestoreAdapter {\n constructor() {\n super(...arguments);\n this.firestore = inject(Firestore);\n }\n get FieldValue() {\n return Object.assign(FieldValue, { serverTimestamp });\n }\n get Timestamp() {\n return Timestamp;\n }\n get FieldPath() {\n return {\n documentId: () => documentId(),\n };\n }\n isTimestamp(v) {\n return v instanceof Timestamp;\n }\n isFieldValue(v) {\n return v instanceof this.FieldValue;\n }\n isDate(v) {\n return dayjs.isDayjs(v);\n }\n doc(path) {\n const docRef = doc(this.firestore, path);\n return wrapDocumentReference(docRef);\n }\n collection(path) {\n const ref = collection(this.firestore, path);\n return wrapCollectionLike(ref);\n }\n collectionGroup(collectionId) {\n const ref = collectionGroup(this.firestore, collectionId);\n return wrapCollectionLike(ref);\n }\n query(collection, ...queryFnArray) {\n const ref = unwrapCollectionLike(collection);\n const _query = query(ref, ...queryFnArray.map(queryFn => queryFn()));\n return wrapCollectionLike(_query);\n }\n where(fieldPath, opStr, value) {\n return () => where(fieldPath, opStr, value);\n }\n orderBy(key, order = 'asc') {\n return () => orderBy(key, order);\n }\n limit(n) {\n return () => limit(n);\n }\n runTransaction(fn) {\n return runTransaction(this.firestore, fn);\n }\n batch() {\n const batch = writeBatch(this.firestore);\n const wrapBatch = (_batch) => ({\n create: (ref, data) => wrapBatch(_batch.set(ref, data)),\n set: (ref, data) => wrapBatch(_batch.set(ref, data)),\n update: (ref, data) => wrapBatch(_batch.update(ref, data)),\n delete: (ref) => wrapBatch(_batch.delete(ref)),\n commit: () => _batch.commit(),\n });\n return wrapBatch(batch);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AngularFirestoreAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AngularFirestoreAdapter }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AngularFirestoreAdapter, decorators: [{\n type: Injectable\n }] });\n/** @deprecated use `provideFirestoreAdapter()` instead. */\nexport function provideAngularFirestoreAdapter() {\n return { provide: FirestoreAdapter, useClass: AngularFirestoreAdapter };\n}\nexport function provideFirestoreAdapter() {\n return _provideFirestoreAdapter(AngularFirestoreAdapter);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvZmlyZXN0b3JlLWFuZ3VsYXItYWRhcHRlci9zcmMvbGliL2FuZ3VsYXItZmlyZXN0b3JlLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLEdBQUcsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUNoQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUM3QyxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUM1RCxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQTRCLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUMvRixrQkFBa0IsRUFDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBR2hCLHVCQUF1QixJQUFJLHdCQUF3QixHQUNwRCxNQUFNLGlDQUFpQyxDQUFDO0FBU3pDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBTyxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBMkNwRCxTQUFTLFlBQVksQ0FDbkIsR0FBcUMsRUFDckMsV0FBOEI7SUFFOUIsT0FBTyxJQUFJLFVBQVUsQ0FBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FDL0QsR0FBRyxFQUNILENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNwQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFD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LE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzlELE1BQU0sRUFBRSxDQUFDLEdBQVEsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwRSxNQUFNLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1NBQzlCLENBQUMsQ0FBQTtRQUNGLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBM0ZVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOztBQStGWCwyREFBMkQ7QUFDM0QsTUFBTSxVQUFVLDhCQUE4QjtJQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxDQUFDO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCO0lBQ3JDLE9BQU8sd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgXG4gIGRvYywgY29sbGVjdGlvbiwgY29sbGVjdGlvbkdyb3VwLFxuICBUaW1lc3RhbXAsIHNldERvYywgZ2V0RG9jLCBkZWxldGVEb2MsIGdldERvY3MsIFxuICBvblNuYXBzaG90LCB1cGRhdGVEb2MsIEZpcmVzdG9yZSwgcnVuVHJhbnNhY3Rpb24sIHdyaXRlQmF0Y2gsXG4gIGxpbWl0LCBvcmRlckJ5LCBxdWVyeSwgd2hlcmUsIFF1ZXJ5U25hcHNob3QsIEZpZWxkUGF0aCwgZG9jdW1lbnRJZCwgRmllbGRWYWx1ZSwgc2VydmVyVGltZXN0YW1wLFxuICBnZXRDb3VudEZyb21TZXJ2ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHtcbiAgRmlyZXN0b3JlQWRhcHRlcixcbiAgUXVlcnlGbiBhcyBfUXVlcnlGbixcbiAgV2hlcmVGaWx0ZXJPcCxcbiAgcHJvdmlkZUZpcmVzdG9yZUFkYXB0ZXIgYXMgX3Byb3ZpZGVGaXJlc3RvcmVBZGFwdGVyLFxufSBmcm9tICdAbngtZGRkL2ZpcmVzdG9yZS9hZGFwdGVycy9iYXNlJztcbmltcG9ydCB7XG4gIERvY3VtZW50U25hcHNob3QsXG4gIENvbGxlY3Rpb25SZWZlcmVuY2UgYXMgX0NvbGxlY3Rpb25SZWZlcmVuY2UsXG4gIENvbGxlY3Rpb25Hcm91cCBhcyBfQ29sbGVjdGlvbkdyb3VwLFxuICBRdWVyeSBhcyBfUXVlcnksXG4gIERvY3VtZW50RGF0YSxcbiAgRG9jdW1lbnRSZWZlcmVuY2UsXG59IGZyb20gJ0BueC1kZGQvZmlyZXN0b3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgdGFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIGZpcmVzdG9yZSBmcm9tICdmaXJlYmFzZS9maXJlc3RvcmUnO1xuXG50eXBlIENvbGxlY3Rpb25SZWZlcmVuY2U8XG4gIEFwcE1vZGVsVHlwZSA9IERvY3VtZW50RGF0YSxcbiAgRGJNb2RlbFR5cGUgZXh0ZW5kcyBEb2N1bWVudERhdGEgPSBEb2N1bWVudERhdGEsXG4+ID0gX0NvbGxlY3Rpb25SZWZlcmVuY2U8QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZSwgZmlyZXN0b3JlLkNvbGxlY3Rpb25SZWZlcmVuY2U8QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZT4+O1xuXG50eXBlIENvbGxlY3Rpb25Hcm91cDxcbiAgQXBwTW9kZWxUeXBlID0gRG9jdW1lbnREYXRhLFxuICBEYk1vZGVsVHlwZSBleHRlbmRzIERvY3VtZW50RGF0YSA9IERvY3VtZW50RGF0YVxuPiA9IF9Db2xsZWN0aW9uR3JvdXA8QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZSwgZmlyZXN0b3JlLlF1ZXJ5PEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+PjtcblxudHlwZSBRdWVyeTxcbiAgQXBwTW9kZWxUeXBlID0gRG9jdW1lbnREYXRhLFxuICBEYk1vZGVsVHlwZSBleHRlbmRzIERvY3VtZW50RGF0YSA9IERvY3VtZW50RGF0YVxuPiA9IF9RdWVyeTxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlLCBmaXJlc3RvcmUuUXVlcnk8QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZT4+O1xuXG50eXBlIFF1ZXJ5Rm48XG4gIEFwcE1vZGVsVHlwZSA9IERvY3VtZW50RGF0YSxcbiAgRGJNb2RlbFR5cGUgZXh0ZW5kcyBEb2N1bWVudERhdGEgPSBEb2N1bWVudERhdGFcbj4gPSBfUXVlcnlGbjxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlLCBmaXJlc3RvcmUuUXVlcnlDb25zdHJhaW50PlxuXG50eXBlIE9yaWdpbjxcbiAgQXBwTW9kZWxUeXBlID0gRG9jdW1lbnREYXRhLFxuICBEYk1vZGVsVHlwZSBleHRlbmRzIERvY3VtZW50RGF0YSA9IERvY3VtZW50RGF0YSxcbj4gPSBmaXJlc3RvcmUuQ29sbGVjdGlvblJlZmVyZW5jZTxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlPlxuICB8IGZpcmVzdG9yZS5RdWVyeTxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlPjtcblxudHlwZSBDb2xsZWN0aW9uTGlrZTxcbiAgQXBwTW9kZWxUeXBlID0gRG9jdW1lbnREYXRhLFxuICBEYk1vZGVsVHlwZSBleHRlbmRzIERvY3VtZW50RGF0YSA9IERvY3VtZW50RGF0YSxcbj4gPSBDb2xsZWN0aW9uUmVmZXJlbmNlPEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+IFxuICB8IENvbGxlY3Rpb25Hcm91cDxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlPlxuICB8IFF1ZXJ5PEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+O1xuXG4vLyBVdGlsaXR5IHR5cGUgdG8gbWFwIE9yaWdpbiB0byBDb2xsZWN0aW9uTGlrZVxudHlwZSBJbmZlckNvbGxlY3Rpb25MaWtlPE8gZXh0ZW5kcyBPcmlnaW4+ID0gXG4gIE8gZXh0ZW5kcyBmaXJlc3RvcmUuQ29sbGVjdGlvblJlZmVyZW5jZTxpbmZlciBBLCBpbmZlciBCPiA/IENvbGxlY3Rpb25SZWZlcmVuY2U8QSwgQj4gOlxuICBPIGV4dGVuZHMgZmlyZXN0b3JlLlF1ZXJ5PGluZmVyIEEsIGluZmVyIEI+ID8gUXVlcnk8QSwgQj4gOlxuICBuZXZlcjtcblxuXG5mdW5jdGlvbiBhc09ic2VydmFibGU8VCA9IHVua25vd24+KFxuICByZWY6IFBhcmFtZXRlcnM8dHlwZW9mIG9uU25hcHNob3Q+WzBdLFxuICBfb25TbmFwc2hvdDogdHlwZW9mIG9uU25hcHNob3QsXG4pOiBPYnNlcnZhYmxlPFF1ZXJ5U25hcHNob3Q8VD4+IHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFF1ZXJ5U25hcHNob3Q8VD4+KChvYnNlcnZlcikgPT4gX29uU25hcHNob3QoXG4gICAgcmVmLCBcbiAgICAodmFsdWU6IGFueSkgPT4gb2JzZXJ2ZXIubmV4dCh2YWx1ZSksXG4gICAgKGVycm9yOiBhbnkpID0+IG9ic2VydmVyLmVycm9yKGVycm9yKSxcbiAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBEb2N1bWVudFJlZmVyZW5jZTxcbiAgQXBwTW9kZWxUeXBlID0gRG9jdW1lbnREYXRhLFxuICBEYk1vZGVsVHlwZSBleHRlbmRzIERvY3VtZW50RGF0YSA9IERvY3VtZW50RGF0YSxcbj4ob3JpZ2luOiBmaXJlc3RvcmUuRG9jdW1lbnRSZWZlcmVuY2U8QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZT4pOiBEb2N1bWVudFJlZmVyZW5jZTxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlPiB7XG4gIHJldHVybiB7XG4gICAgX19yZWY6IG9yaWdpbixcbiAgICBleGlzdHM6ICgpID0+IGdldERvYyhvcmlnaW4pLnRoZW4oc25hcHNob3QgPT4gc25hcHNob3QuZXhpc3RzKCkpLFxuICAgIHNldDogKGRhdGEpID0+IHNldERvYyhvcmlnaW4sIGRhdGEpLFxuICAgIGdldDogKCkgPT4gZ2V0RG9jKG9yaWdpbiksXG4gICAgdXBkYXRlOiAoZGF0YSkgPT4gdXBkYXRlRG9jKG9yaWdpbiwgZGF0YSBhcyBhbnkpLFxuICAgIGRlbGV0ZTogKCkgPT4gZGVsZXRlRG9jKG9yaWdpbiksXG4gICAgc3RhdGVDaGFuZ2VzOiAoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8RG9jdW1lbnRTbmFwc2hvdDxhbnk+Pigob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIG9uU25hcHNob3Qob3JpZ2luLCB2YWx1ZSA9PiBvYnNlcnZlci5uZXh0KHZhbHVlKSwgZXJyb3IgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpLCAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKTtcbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIGZpbHRlcigoc25hcHNob3Q6IGFueSkgPT4gc25hcHNob3QuZXhpc3RzKCkpLFxuICAgICAgICBtYXAoKHNuYXBzaG90KSA9PiAoe1xuICAgICAgICAgIGlkOiBzbmFwc2hvdC5pZCxcbiAgICAgICAgICByZWY6IHNuYXBzaG90LnJlZixcbiAgICAgICAgICBkYXRhOiAoKSA9PiBzbmFwc2hvdC5kYXRhKCksXG4gICAgICAgICAgZ2V0OiAoZmllbGRQYXRoOiBzdHJpbmcpID0+IHNuYXBzaG90LmdldChmaWVsZFBhdGgpLFxuICAgICAgICB9KSksXG4gICAgICApO1xuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBDb2xsZWN0aW9uTGlrZTxcbiAgTyBleHRlbmRzIE9yaWdpbixcbj4ob3JpZ2luOiBPKTogSW5mZXJDb2xsZWN0aW9uTGlrZTxPPiB7XG4gIHJldHVybiB7XG4gICAgX19yZWY6IG9yaWdpbixcbiAgICBzdGF0ZUNoYW5nZXM6ICgpID0+IGFzT2JzZXJ2YWJsZTx1bmtub3duPihvcmlnaW4sIG9uU25hcHNob3QpLnBpcGUoXG4gICAgICBtYXAoKHNuYXBzaG90KSA9PiBzbmFwc2hvdC5kb2NDaGFuZ2VzKCkubWFwKGNoYW5nZSA9PiAoe1xuICAgICAgICB0eXBlOiBjaGFuZ2UudHlwZSwgcGF5bG9hZDoge2RvYzogY2hhbmdlLmRvY30sXG4gICAgICB9KSkpLFxuICAgICksXG4gICAgZ2V0OiAoKSA9PiBnZXREb2NzKG9yaWdpbiksXG4gICAgY291bnQ6ICgpID0+IGdldENvdW50RnJvbVNlcnZlcihvcmlnaW4pLnRoZW4oY291bnQgPT4gY291bnQuZGF0YSgpLmNvdW50KSxcbiAgfSBhcyBuZXZlciBhcyBJbmZlckNvbGxlY3Rpb25MaWtlPE8+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW53cmFwQ29sbGVjdGlvbkxpa2U8XG4gIEFwcE1vZGVsVHlwZSA9IERvY3VtZW50RGF0YSxcbiAgRGJNb2RlbFR5cGUgZXh0ZW5kcyBEb2N1bWVudERhdGEgPSBEb2N1bWVudERhdGFcbj4oXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25MaWtlPEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+XG4pOiBPcmlnaW48QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZT4ge1xuICByZXR1cm4gY29sbGVjdGlvbi5fX3JlZiE7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZXN0b3JlQWRhcHRlciBleHRlbmRzIEZpcmVzdG9yZUFkYXB0ZXI8ZGF5anMuRGF5anM+IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpcmVzdG9yZSA9IGluamVjdChGaXJlc3RvcmUpO1xuXG4gIGdldCBGaWVsZFZhbHVlKCk6IHR5cGVvZiBGaWVsZFZhbHVlICYge3NlcnZlclRpbWVzdGFtcDogKCkgPT4gRmllbGRWYWx1ZX0ge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKEZpZWxkVmFsdWUsIHtzZXJ2ZXJUaW1lc3RhbXB9KTtcbiAgfVxuXG4gIGdldCBUaW1lc3RhbXAoKTogdHlwZW9mIFRpbWVzdGFtcCB7XG4gICAgcmV0dXJuIFRpbWVzdGFtcDsgIFxuICB9XG5cbiAgZ2V0IEZpZWxkUGF0aCgpOiB7ZG9jdW1lbnRJZDogKCkgPT4gRmllbGRQYXRofSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRvY3VtZW50SWQ6ICgpID0+IGRvY3VtZW50SWQoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzVGltZXN0YW1wKHY6IGFueSk6IHYgaXMgVGltZXN0YW1wIHtcbiAgICByZXR1cm4gdiBpbnN0YW5jZW9mIFRpbWVzdGFtcDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0ZpZWxkVmFsdWUodjogYW55KTogdiBpcyBGaWVsZFZhbHVlIHtcbiAgICByZXR1cm4gdiBpbnN0YW5jZW9mIHRoaXMuRmllbGRWYWx1ZTtcbiAgfVxuICBcbiAgcHJvdGVjdGVkIGlzRGF0ZSh2OiBhbnkpOiB2IGlzIGRheWpzLkRheWpzIHtcbiAgICByZXR1cm4gZGF5anMuaXNEYXlqcyh2KTtcbiAgfVxuXG4gIGRvYzxcbiAgICBBcHBNb2RlbFR5cGUgPSBEb2N1bWVudERhdGEsXG4gICAgRGJNb2RlbFR5cGUgZXh0ZW5kcyBEb2N1bWVudERhdGEgPSBEb2N1bWVudERhdGEsXG4gID4ocGF0aDogc3RyaW5nKTogRG9jdW1lbnRSZWZlcmVuY2U8QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZT4ge1xuICAgIGNvbnN0IGRvY1JlZiA9IGRvYyh0aGlzLmZpcmVzdG9yZSwgcGF0aCk7XG4gICAgcmV0dXJuIHdyYXBEb2N1bWVudFJlZmVyZW5jZShkb2NSZWYpIGFzIERvY3VtZW50UmVmZXJlbmNlPEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+O1xuICB9XG5cbiAgY29sbGVjdGlvbjxcbiAgICBBcHBNb2RlbFR5cGUgPSBEb2N1bWVudERhdGEsXG4gICAgRGJNb2RlbFR5cGUgZXh0ZW5kcyBEb2N1bWVudERhdGEgPSBEb2N1bWVudERhdGEsXG4gID4ocGF0aDogc3RyaW5nKTogQ29sbGVjdGlvblJlZmVyZW5jZTxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlPiB7XG4gICAgY29uc3QgcmVmID0gY29sbGVjdGlvbih0aGlzLmZpcmVzdG9yZSwgcGF0aCk7XG4gICAgcmV0dXJuIHdyYXBDb2xsZWN0aW9uTGlrZShyZWYpIGFzIENvbGxlY3Rpb25SZWZlcmVuY2U8QXBwTW9kZWxUeXBlLCBEYk1vZGVsVHlwZT47XG4gIH1cblxuICBjb2xsZWN0aW9uR3JvdXA8XG4gICAgQXBwTW9kZWxUeXBlID0gRG9jdW1lbnREYXRhLFxuICAgIERiTW9kZWxUeXBlIGV4dGVuZHMgRG9jdW1lbnREYXRhID0gRG9jdW1lbnREYXRhLFxuICA+KGNvbGxlY3Rpb25JZDogc3RyaW5nKTogQ29sbGVjdGlvbkdyb3VwPEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+IHtcbiAgICBjb25zdCByZWYgPSBjb2xsZWN0aW9uR3JvdXAodGhpcy5maXJlc3RvcmUsIGNvbGxlY3Rpb25JZCk7XG4gICAgcmV0dXJuIHdyYXBDb2xsZWN0aW9uTGlrZShyZWYpIGFzIENvbGxlY3Rpb25Hcm91cDxBcHBNb2RlbFR5cGUsIERiTW9kZWxUeXBlPjtcbiAgfVxuXG4gIHF1ZXJ5PFxuICAgIEFwcE1vZGVsVHlwZSA9IERvY3VtZW50RGF0YSxcbiAgICBEYk1vZGVsVHlwZSBleHRlbmRzIERvY3VtZW50RGF0YSA9IERvY3VtZW50RGF0YSxcbiAgPihcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uUmVmZXJlbmNlPEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+LFxuICAgIC4uLnF1ZXJ5Rm5BcnJheTogUXVlcnlGbltdXG4gICk6IFF1ZXJ5PEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+IHtcbiAgICBjb25zdCByZWYgPSB1bndyYXBDb2xsZWN0aW9uTGlrZShjb2xsZWN0aW9uKSBhcyBmaXJlc3RvcmUuUXVlcnk8RG9jdW1lbnREYXRhLCBEYk1vZGVsVHlwZT47XG4gICAgY29uc3QgX3F1ZXJ5ID0gcXVlcnkocmVmLCAuLi5xdWVyeUZuQXJyYXkubWFwKHF1ZXJ5Rm4gPT4gcXVlcnlGbigpKSk7XG4gICAgcmV0dXJuIHdyYXBDb2xsZWN0aW9uTGlrZShfcXVlcnkpIGFzIFF1ZXJ5PEFwcE1vZGVsVHlwZSwgRGJNb2RlbFR5cGU+O1xuICB9XG5cbiAgd2hlcmU8RGF0YT4oZmllbGRQYXRoOiBzdHJpbmcsIG9wU3RyOiBXaGVyZUZpbHRlck9wLCB2YWx1ZTogdW5rbm93bik6IFF1ZXJ5Rm48RGF0YT4ge1xuICAgIHJldHVybiAoKSA9PiB3aGVyZShmaWVsZFBhdGgsIG9wU3RyLCB2YWx1ZSk7XG4gIH1cblxuICBvcmRlckJ5PERhdGE+KGtleTogc3RyaW5nLCBvcmRlcjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJyk6IFF1ZXJ5Rm48RGF0YT4ge1xuICAgIHJldHVybiAoKSA9PiBvcmRlckJ5KGtleSwgb3JkZXIpO1xuICB9XG5cbiAgbGltaXQ8RGF0YT4objogbnVtYmVyKTogUXVlcnlGbjxEYXRhPiB7XG4gICAgcmV0dXJuICgpID0+IGxpbWl0KG4pO1xuICB9XG5cbiAgcnVuVHJhbnNhY3Rpb24oZm46IFBhcmFtZXRlcnM8dHlwZW9mIHJ1blRyYW5zYWN0aW9uPlsxXSkge1xuICAgIHJldHVybiBydW5UcmFuc2FjdGlvbih0aGlzLmZpcmVzdG9yZSwgZm4pO1xuICB9XG5cbiAgYmF0Y2goKSB7XG4gICAgY29uc3QgYmF0Y2ggPSB3cml0ZUJhdGNoKHRoaXMuZmlyZXN0b3JlKTtcbiAgICBjb25zdCB3cmFwQmF0Y2ggPSAoX2JhdGNoOiBmaXJlc3RvcmUuV3JpdGVCYXRjaCkgPT4gKHtcbiAgICAgIGNyZWF0ZTogKHJlZjogYW55LCBkYXRhOiBhbnkpID0+IHdyYXBCYXRjaChfYmF0Y2guc2V0KHJlZiwgZGF0YSkpLFxuICAgICAgc2V0OiAocmVmOiBhbnksIGRhdGE6IGFueSkgPT4gd3JhcEJhdGNoKF9iYXRjaC5zZXQocmVmLCBkYXRhKSksXG4gICAgICB1cGRhdGU6IChyZWY6IGFueSwgZGF0YTogYW55KSA9PiB3cmFwQmF0Y2goX2JhdGNoLnVwZGF0ZShyZWYsIGRhdGEpKSxcbiAgICAgIGRlbGV0ZTogKHJlZjogYW55KSA9PiB3cmFwQmF0Y2goX2JhdGNoLmRlbGV0ZShyZWYpKSxcbiAgICAgIGNvbW1pdDogKCkgPT4gX2JhdGNoLmNvbW1pdCgpLFxuICAgIH0pXG4gICAgcmV0dXJuIHdyYXBCYXRjaChiYXRjaCk7XG4gIH1cbn1cblxuLyoqIEBkZXByZWNhdGVkIHVzZSBgcHJvdmlkZUZpcmVzdG9yZUFkYXB0ZXIoKWAgaW5zdGVhZC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQW5ndWxhckZpcmVzdG9yZUFkYXB0ZXIoKTogUHJvdmlkZXIge1xuICByZXR1cm4geyBwcm92aWRlOiBGaXJlc3RvcmVBZGFwdGVyLCB1c2VDbGFzczogQW5ndWxhckZpcmVzdG9yZUFkYXB0ZXIgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVGaXJlc3RvcmVBZGFwdGVyKCk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIF9wcm92aWRlRmlyZXN0b3JlQWRhcHRlcihBbmd1bGFyRmlyZXN0b3JlQWRhcHRlcik7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWZpcmVzdG9yZS1hbmd1bGFyLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2ZpcmVzdG9yZS1hbmd1bGFyLWFkYXB0ZXIvc3JjL254LWRkZC1maXJlc3RvcmUtYW5ndWxhci1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["_provideFirestoreAdapter"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1 +1,53 @@
1
- export * from './lib';
1
+ import * as i0 from '@angular/core';
2
+ import { Provider } from '@angular/core';
3
+ import { Firestore, FieldValue, Timestamp, FieldPath, runTransaction } from '@angular/fire/firestore';
4
+ import { FirestoreAdapter, QueryFn as QueryFn$1, WhereFilterOp } from '@nx-ddd/firestore/adapters/base';
5
+ import { DocumentData, DocumentReference, CollectionReference as CollectionReference$1, Query as Query$1, CollectionGroup as CollectionGroup$1 } from '@nx-ddd/firestore/interfaces';
6
+ import dayjs from 'dayjs';
7
+ import firestore from 'firebase/firestore';
8
+
9
+ type CollectionReference<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = CollectionReference$1<AppModelType, DbModelType, firestore.CollectionReference<AppModelType, DbModelType>>;
10
+ type CollectionGroup<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = CollectionGroup$1<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;
11
+ type Query<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = Query$1<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;
12
+ type QueryFn<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = QueryFn$1<AppModelType, DbModelType, firestore.QueryConstraint>;
13
+ type Origin<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = firestore.CollectionReference<AppModelType, DbModelType> | firestore.Query<AppModelType, DbModelType>;
14
+ type CollectionLike<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = CollectionReference<AppModelType, DbModelType> | CollectionGroup<AppModelType, DbModelType> | Query<AppModelType, DbModelType>;
15
+ type InferCollectionLike<O extends Origin> = O extends firestore.CollectionReference<infer A, infer B> ? CollectionReference<A, B> : O extends firestore.Query<infer A, infer B> ? Query<A, B> : never;
16
+ declare function wrapDocumentReference<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(origin: firestore.DocumentReference<AppModelType, DbModelType>): DocumentReference<AppModelType, DbModelType>;
17
+ declare function wrapCollectionLike<O extends Origin>(origin: O): InferCollectionLike<O>;
18
+ declare function unwrapCollectionLike<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(collection: CollectionLike<AppModelType, DbModelType>): Origin<AppModelType, DbModelType>;
19
+ declare class AngularFirestoreAdapter extends FirestoreAdapter<dayjs.Dayjs> {
20
+ protected readonly firestore: Firestore;
21
+ get FieldValue(): typeof FieldValue & {
22
+ serverTimestamp: () => FieldValue;
23
+ };
24
+ get Timestamp(): typeof Timestamp;
25
+ get FieldPath(): {
26
+ documentId: () => FieldPath;
27
+ };
28
+ protected isTimestamp(v: any): v is Timestamp;
29
+ protected isFieldValue(v: any): v is FieldValue;
30
+ protected isDate(v: any): v is dayjs.Dayjs;
31
+ doc<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(path: string): DocumentReference<AppModelType, DbModelType>;
32
+ collection<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(path: string): CollectionReference<AppModelType, DbModelType>;
33
+ collectionGroup<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(collectionId: string): CollectionGroup<AppModelType, DbModelType>;
34
+ query<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(collection: CollectionReference<AppModelType, DbModelType>, ...queryFnArray: QueryFn[]): Query<AppModelType, DbModelType>;
35
+ where<Data>(fieldPath: string, opStr: WhereFilterOp, value: unknown): QueryFn<Data>;
36
+ orderBy<Data>(key: string, order?: 'asc' | 'desc'): QueryFn<Data>;
37
+ limit<Data>(n: number): QueryFn<Data>;
38
+ runTransaction(fn: Parameters<typeof runTransaction>[1]): Promise<unknown>;
39
+ batch(): {
40
+ create: (ref: any, data: any) => /*elided*/ any;
41
+ set: (ref: any, data: any) => /*elided*/ any;
42
+ update: (ref: any, data: any) => /*elided*/ any;
43
+ delete: (ref: any) => /*elided*/ any;
44
+ commit: () => Promise<void>;
45
+ };
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<AngularFirestoreAdapter, never>;
47
+ static ɵprov: i0.ɵɵInjectableDeclaration<AngularFirestoreAdapter>;
48
+ }
49
+ /** @deprecated use `provideFirestoreAdapter()` instead. */
50
+ declare function provideAngularFirestoreAdapter(): Provider;
51
+ declare function provideFirestoreAdapter(): Provider;
52
+
53
+ export { AngularFirestoreAdapter, provideAngularFirestoreAdapter, provideFirestoreAdapter, unwrapCollectionLike, wrapCollectionLike, wrapDocumentReference };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx-ddd/firestore-angular-adapter",
3
- "version": "19.0.0-preview.9",
3
+ "version": "19.1.1",
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": "19.1.4",
11
11
  "@angular/fire": "18.0.1",
12
- "@nx-ddd/firestore": "19.0.0-preview.9",
12
+ "@nx-ddd/firestore": "19.1.1",
13
13
  "dayjs": "1.11.13",
14
14
  "rxjs": "^7.0.0",
15
15
  "firebase": "^10.7.0"
@@ -1,53 +0,0 @@
1
- import { Provider } from '@angular/core';
2
- import { Timestamp, Firestore, runTransaction, FieldPath, FieldValue } from '@angular/fire/firestore';
3
- import { FirestoreAdapter, QueryFn as _QueryFn, WhereFilterOp } from '@nx-ddd/firestore/adapters/base';
4
- import { CollectionReference as _CollectionReference, CollectionGroup as _CollectionGroup, Query as _Query, DocumentData, DocumentReference } from '@nx-ddd/firestore/interfaces';
5
- import dayjs from 'dayjs';
6
- import type firestore from 'firebase/firestore';
7
- import * as i0 from "@angular/core";
8
- type CollectionReference<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = _CollectionReference<AppModelType, DbModelType, firestore.CollectionReference<AppModelType, DbModelType>>;
9
- type CollectionGroup<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = _CollectionGroup<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;
10
- type Query<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = _Query<AppModelType, DbModelType, firestore.Query<AppModelType, DbModelType>>;
11
- type QueryFn<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = _QueryFn<AppModelType, DbModelType, firestore.QueryConstraint>;
12
- type Origin<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = firestore.CollectionReference<AppModelType, DbModelType> | firestore.Query<AppModelType, DbModelType>;
13
- type CollectionLike<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> = CollectionReference<AppModelType, DbModelType> | CollectionGroup<AppModelType, DbModelType> | Query<AppModelType, DbModelType>;
14
- type InferCollectionLike<O extends Origin> = O extends firestore.CollectionReference<infer A, infer B> ? CollectionReference<A, B> : O extends firestore.Query<infer A, infer B> ? Query<A, B> : never;
15
- export declare function wrapDocumentReference<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(origin: firestore.DocumentReference<AppModelType, DbModelType>): DocumentReference<AppModelType, DbModelType>;
16
- export declare function wrapCollectionLike<O extends Origin>(origin: O): InferCollectionLike<O>;
17
- export declare function unwrapCollectionLike<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(collection: CollectionLike<AppModelType, DbModelType>): Origin<AppModelType, DbModelType>;
18
- export declare class AngularFirestoreAdapter extends FirestoreAdapter<dayjs.Dayjs> {
19
- protected readonly firestore: Firestore;
20
- get FieldValue(): typeof FieldValue & {
21
- serverTimestamp: () => FieldValue;
22
- };
23
- get Timestamp(): typeof Timestamp;
24
- get FieldPath(): {
25
- documentId: () => FieldPath;
26
- };
27
- protected isTimestamp(v: any): v is Timestamp;
28
- protected isFieldValue(v: any): v is FieldValue;
29
- protected isDate(v: any): v is dayjs.Dayjs;
30
- convertDateToTimestamp(date: dayjs.Dayjs): Timestamp;
31
- convertTimestampToDate(timestamp: Timestamp): dayjs.Dayjs;
32
- doc<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(path: string): DocumentReference<AppModelType, DbModelType>;
33
- collection<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(path: string): CollectionReference<AppModelType, DbModelType>;
34
- collectionGroup<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(collectionId: string): CollectionGroup<AppModelType, DbModelType>;
35
- query<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData>(collection: CollectionReference<AppModelType, DbModelType>, ...queryFnArray: QueryFn[]): Query<AppModelType, DbModelType>;
36
- where<Data>(fieldPath: string, opStr: WhereFilterOp, value: unknown): QueryFn<Data>;
37
- orderBy<Data>(key: string, order?: 'asc' | 'desc'): QueryFn<Data>;
38
- limit<Data>(n: number): QueryFn<Data>;
39
- runTransaction(fn: Parameters<typeof runTransaction>[1]): Promise<unknown>;
40
- batch(): {
41
- create: (ref: any, data: any) => /*elided*/ any;
42
- set: (ref: any, data: any) => /*elided*/ any;
43
- update: (ref: any, data: any) => /*elided*/ any;
44
- delete: (ref: any) => /*elided*/ any;
45
- commit: () => Promise<void>;
46
- };
47
- static ɵfac: i0.ɵɵFactoryDeclaration<AngularFirestoreAdapter, never>;
48
- static ɵprov: i0.ɵɵInjectableDeclaration<AngularFirestoreAdapter>;
49
- }
50
- /** @deprecated use `provideFirestoreAdapter()` instead. */
51
- export declare function provideAngularFirestoreAdapter(): Provider;
52
- export declare function provideFirestoreAdapter(): Provider;
53
- export {};
package/lib/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './angular-firestore.adapter';