/* * Copyright (c) 2016-present Invertase Limited & Contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this library except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import { isUndefined } from '@react-native-firebase/app/dist/module/common'; export default class SnapshotMetadata { _metadata: [boolean, boolean]; constructor(metadata: [boolean, boolean]) { this._metadata = metadata; } get fromCache(): boolean { return this._metadata[0]; } get hasPendingWrites(): boolean { return this._metadata[1]; } isEqual(other: SnapshotMetadata): boolean { if (isUndefined(other) || !(other instanceof SnapshotMetadata)) { throw new Error( "firebase.firestore() SnapshotMetadata.isEqual(*) 'other' expected instance of SnapshotMetadata", ); } return this.fromCache === other.fromCache && this.hasPendingWrites === other.hasPendingWrites; } }