| 1506 | } |
| 1507 | |
| 1508 | export class Firestore implements IFirestore { |
| 1509 | _native: com.google.firebase.firestore.FirebaseFirestore; |
| 1510 | _app: FirebaseApp; |
| 1511 | |
| 1512 | constructor(app?: FirebaseApp) { |
| 1513 | if (app) { |
| 1514 | this._native = com.google.firebase.firestore.FirebaseFirestore.getInstance(app.native); |
| 1515 | } else { |
| 1516 | if (defaultFirestore) { |
| 1517 | return defaultFirestore; |
| 1518 | } |
| 1519 | defaultFirestore = this; |
| 1520 | this._native = com.google.firebase.firestore.FirebaseFirestore.getInstance(); |
| 1521 | } |
| 1522 | } |
| 1523 | |
| 1524 | useEmulator(host: string, port: number) { |
| 1525 | this.native.useEmulator(host === 'localhost' || host === '127.0.0.1' ? '10.0.2.2' : host, port); |
| 1526 | } |
| 1527 | |
| 1528 | static fromNative(store: com.google.firebase.firestore.FirebaseFirestore) { |
| 1529 | if (store instanceof com.google.firebase.firestore.FirebaseFirestore) { |
| 1530 | const firestore = new Firestore(); |
| 1531 | firestore._native = store; |
| 1532 | return firestore; |
| 1533 | } |
| 1534 | return null; |
| 1535 | } |
| 1536 | |
| 1537 | batch(): WriteBatch { |
| 1538 | return WriteBatch.fromNative(this.native.batch()); |
| 1539 | } |
| 1540 | |
| 1541 | collection(collectionPath: string): CollectionReference { |
| 1542 | return CollectionReference.fromNative(this.native.collection(collectionPath)); |
| 1543 | } |
| 1544 | |
| 1545 | clearPersistence(): Promise<void> { |
| 1546 | return new Promise((resolve, reject) => { |
| 1547 | org.nativescript.firebase.firestore.FirebaseFirestore.clearPersistence( |
| 1548 | this.native, |
| 1549 | new org.nativescript.firebase.firestore.FirebaseFirestore.Callback<java.lang.Void>({ |
| 1550 | onSuccess(param0) { |
| 1551 | resolve(); |
| 1552 | }, |
| 1553 | onError(error) { |
| 1554 | reject(FirebaseError.fromNative(error)); |
| 1555 | }, |
| 1556 | }) |
| 1557 | ); |
| 1558 | }); |
| 1559 | } |
| 1560 | |
| 1561 | collectionGroup(collectionId: string): Query { |
| 1562 | return Query.fromNative(this.native.collectionGroup(collectionId)); |
| 1563 | } |
| 1564 | |
| 1565 | disableNetwork(): Promise<void> { |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…