/var/www/qr4y.com/server/delivery/node_modules/@google-cloud/firestore/build/src
NameSizeModeActions
v1/-0755rm
v1beta1/-0755rm
backoff.d.ts55470644editdlrm
backoff.js76500644editdlrm
bulk-writer.d.ts192410644editdlrm
bulk-writer.js360760644editdlrm
bundle.d.ts8350644editdlrm
bundle.js84270644editdlrm
collection-group.d.ts36100644editdlrm
collection-group.js45200644editdlrm
convert.d.ts27760644editdlrm
convert.js71670644editdlrm
document-change.d.ts50410644editdlrm
document-change.js52920644editdlrm
document-reader.d.ts18420644editdlrm
document-reader.js53530644editdlrm
document.d.ts181360644editdlrm
document.js304110644editdlrm
field-value.d.ts86180644editdlrm
field-value.js139040644editdlrm
geo-point.d.ts26440644editdlrm
geo-point.js32170644editdlrm
index.d.ts365110644editdlrm
index.js594210644editdlrm
logger.d.ts13100644editdlrm
logger.js21120644editdlrm
order.d.ts10960644editdlrm
order.js75250644editdlrm
path.d.ts121260644editdlrm
path.js190030644editdlrm
pool.d.ts41160644editdlrm
pool.js88590644editdlrm
query-partition.d.ts40190644editdlrm
query-partition.js57690644editdlrm
rate-limiter.d.ts30150644editdlrm
rate-limiter.js58500644editdlrm
recursive-delete.d.ts57140644editdlrm
recursive-delete.js100100644editdlrm
reference.d.ts456100644editdlrm
reference.js894490644editdlrm
serializer.d.ts29420644editdlrm
serializer.js128130644editdlrm
status-code.d.ts11210644editdlrm
status-code.js7120644editdlrm
timestamp.d.ts69870644editdlrm
timestamp.js96970644editdlrm
transaction.d.ts96730644editdlrm
transaction.js188890644editdlrm
types.d.ts38690644editdlrm
types.js13870644editdlrm
util.d.ts34630644editdlrm
util.js60230644editdlrm
validate.d.ts65270644editdlrm
validate.js123140644editdlrm
watch.d.ts97620644editdlrm
watch.js249720644editdlrm
write-batch.d.ts105330644editdlrm
write-batch.js272340644editdlrm
Edit: /var/www/qr4y.com/server/delivery/node_modules/@google-cloud/firestore/build/src/document-reader.js (5353B)
"use strict"; /*! * Copyright 2021 Google LLC. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file 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. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.DocumentReader = void 0; const document_1 = require("./document"); const util_1 = require("./util"); const logger_1 = require("./logger"); /** * A wrapper around BatchGetDocumentsRequest that retries request upon stream * failure and returns ordered results. * * @private * @internal */ class DocumentReader { /** * Creates a new DocumentReader that fetches the provided documents (via * `get()`). * * @param firestore The Firestore instance to use. * @param allDocuments The documents to get. */ constructor(firestore, allDocuments) { this.firestore = firestore; this.allDocuments = allDocuments; this.outstandingDocuments = new Set(); this.retrievedDocuments = new Map(); for (const docRef of this.allDocuments) { this.outstandingDocuments.add(docRef.formattedName); } } /** * Invokes the BatchGetDocuments RPC and returns the results. * * @param requestTag A unique client-assigned identifier for this request. */ async get(requestTag) { await this.fetchDocuments(requestTag); // BatchGetDocuments doesn't preserve document order. We use the request // order to sort the resulting documents. const orderedDocuments = []; for (const docRef of this.allDocuments) { const document = this.retrievedDocuments.get(docRef.formattedName); if (document !== undefined) { // Recreate the DocumentSnapshot with the DocumentReference // containing the original converter. const finalDoc = new document_1.DocumentSnapshotBuilder(docRef); finalDoc.fieldsProto = document._fieldsProto; finalDoc.readTime = document.readTime; finalDoc.createTime = document.createTime; finalDoc.updateTime = document.updateTime; orderedDocuments.push(finalDoc.build()); } else { throw new Error(`Did not receive document for "${docRef.path}".`); } } return orderedDocuments; } async fetchDocuments(requestTag) { if (!this.outstandingDocuments.size) { return; } const request = { database: this.firestore.formattedName, transaction: this.transactionId, documents: Array.from(this.outstandingDocuments), }; if (this.fieldMask) { const fieldPaths = this.fieldMask.map(fieldPath => fieldPath.formattedName); request.mask = { fieldPaths }; } let resultCount = 0; try { const stream = await this.firestore.requestStream('batchGetDocuments', request, requestTag); stream.resume(); for await (const response of stream) { let snapshot; if (response.found) { (0, logger_1.logger)('DocumentReader.fetchDocuments', requestTag, 'Received document: %s', response.found.name); snapshot = this.firestore.snapshot_(response.found, response.readTime); } else { (0, logger_1.logger)('DocumentReader.fetchDocuments', requestTag, 'Document missing: %s', response.missing); snapshot = this.firestore.snapshot_(response.missing, response.readTime); } const path = snapshot.ref.formattedName; this.outstandingDocuments.delete(path); this.retrievedDocuments.set(path, snapshot); ++resultCount; } } catch (error) { const shouldRetry = // Transactional reads are retried via the transaction runner. !this.transactionId && // Only retry if we made progress. resultCount > 0 && // Don't retry permanent errors. error.code !== undefined && !(0, util_1.isPermanentRpcError)(error, 'batchGetDocuments'); (0, logger_1.logger)('DocumentReader.fetchDocuments', requestTag, 'BatchGetDocuments failed with error: %s. Retrying: %s', error, shouldRetry); if (shouldRetry) { return this.fetchDocuments(requestTag); } else { throw error; } } finally { (0, logger_1.logger)('DocumentReader.fetchDocuments', requestTag, 'Received %d results', resultCount); } } } exports.DocumentReader = DocumentReader; //# sourceMappingURL=document-reader.js.map