/var/www/qr4y.gr/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.gr/server/delivery/node_modules/@google-cloud/firestore/build/src/convert.js (7167B)
"use strict"; /*! * Copyright 2019 Google Inc. 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.fieldsFromJson = exports.valueFromJson = exports.detectValueType = exports.timestampFromJson = void 0; const validate_1 = require("./validate"); /*! * @module firestore/convert * @private * @internal * * This module contains utility functions to convert * `firestore.v1.Documents` from Proto3 JSON to their equivalent * representation in Protobuf JS. Protobuf JS is the only encoding supported by * this client, and dependencies that use Proto3 JSON (such as the Google Cloud * Functions SDK) are supported through this conversion and its usage in * {@see Firestore#snapshot_}. */ /** * Converts an ISO 8601 or google.protobuf.Timestamp proto into Protobuf JS. * * @private * @internal * @param timestampValue The value to convert. * @param argumentName The argument name to use in the error message if the * conversion fails. If omitted, 'timestampValue' is used. * @return The value as expected by Protobuf JS or undefined if no input was * provided. */ function timestampFromJson(timestampValue, argumentName) { let timestampProto = {}; if (typeof timestampValue === 'string') { const date = new Date(timestampValue); const seconds = Math.floor(date.getTime() / 1000); let nanos = 0; if (timestampValue.length > 20) { const nanoString = timestampValue.substring(20, timestampValue.length - 1); const trailingZeroes = 9 - nanoString.length; nanos = Number(nanoString) * Math.pow(10, trailingZeroes); } if (isNaN(seconds) || isNaN(nanos)) { argumentName = argumentName || 'timestampValue'; throw new Error(`Specify a valid ISO 8601 timestamp for "${argumentName}".`); } timestampProto = { seconds: seconds || undefined, nanos: nanos || undefined, }; } else if (timestampValue !== undefined) { (0, validate_1.validateObject)('timestampValue', timestampValue); timestampProto = { seconds: timestampValue.seconds || undefined, nanos: timestampValue.nanos || undefined, }; } return timestampProto; } exports.timestampFromJson = timestampFromJson; /** * Converts a Proto3 JSON 'bytesValue' field into Protobuf JS. * * @private * @internal * @param bytesValue The value to convert. * @return The value as expected by Protobuf JS. */ function bytesFromJson(bytesValue) { if (typeof bytesValue === 'string') { return Buffer.from(bytesValue, 'base64'); } else { return bytesValue; } } /** * Detects 'valueType' from a Proto3 JSON `firestore.v1.Value` proto. * * @private * @internal * @param proto The `firestore.v1.Value` proto. * @return The string value for 'valueType'. */ function detectValueType(proto) { if (proto.valueType) { return proto.valueType; } const detectedValues = []; if (proto.stringValue !== undefined) { detectedValues.push('stringValue'); } if (proto.booleanValue !== undefined) { detectedValues.push('booleanValue'); } if (proto.integerValue !== undefined) { detectedValues.push('integerValue'); } if (proto.doubleValue !== undefined) { detectedValues.push('doubleValue'); } if (proto.timestampValue !== undefined) { detectedValues.push('timestampValue'); } if (proto.referenceValue !== undefined) { detectedValues.push('referenceValue'); } if (proto.arrayValue !== undefined) { detectedValues.push('arrayValue'); } if (proto.nullValue !== undefined) { detectedValues.push('nullValue'); } if (proto.mapValue !== undefined) { detectedValues.push('mapValue'); } if (proto.geoPointValue !== undefined) { detectedValues.push('geoPointValue'); } if (proto.bytesValue !== undefined) { detectedValues.push('bytesValue'); } if (detectedValues.length !== 1) { throw new Error(`Unable to infer type value fom '${JSON.stringify(proto)}'.`); } return detectedValues[0]; } exports.detectValueType = detectValueType; /** * Converts a `firestore.v1.Value` in Proto3 JSON encoding into the * Protobuf JS format expected by this client. * * @private * @internal * @param fieldValue The `firestore.v1.Value` in Proto3 JSON format. * @return The `firestore.v1.Value` in Protobuf JS format. */ function valueFromJson(fieldValue) { const valueType = detectValueType(fieldValue); switch (valueType) { case 'timestampValue': return { timestampValue: timestampFromJson(fieldValue.timestampValue), }; case 'bytesValue': return { bytesValue: bytesFromJson(fieldValue.bytesValue), }; case 'doubleValue': return { doubleValue: Number(fieldValue.doubleValue), }; case 'arrayValue': { const arrayValue = []; if (Array.isArray(fieldValue.arrayValue.values)) { for (const value of fieldValue.arrayValue.values) { arrayValue.push(valueFromJson(value)); } } return { arrayValue: { values: arrayValue, }, }; } case 'mapValue': { const mapValue = {}; const fields = fieldValue.mapValue.fields; if (fields) { for (const prop of Object.keys(fields)) { mapValue[prop] = valueFromJson(fieldValue.mapValue.fields[prop]); } } return { mapValue: { fields: mapValue, }, }; } default: return fieldValue; } } exports.valueFromJson = valueFromJson; /** * Converts a map of IValues in Proto3 JSON encoding into the Protobuf JS format * expected by this client. This conversion creates a copy of the underlying * fields. * * @private * @internal * @param document An object with IValues in Proto3 JSON format. * @return The object in Protobuf JS format. */ function fieldsFromJson(document) { const result = {}; for (const prop of Object.keys(document)) { result[prop] = valueFromJson(document[prop]); } return result; } exports.fieldsFromJson = fieldsFromJson; //# sourceMappingURL=convert.js.map