/var/www/greso.tech/server/nsm/node_modules/@google-cloud/firestore/build/src
NameSizeModeActions
v1/-0755rm
v1beta1/-0755rm
backoff.d.ts55470644editdlrm
backoff.js76500644editdlrm
bulk-writer.d.ts192300644editdlrm
bulk-writer.js361120644editdlrm
bundle.d.ts8350644editdlrm
bundle.js84270644editdlrm
collection-group.d.ts36020644editdlrm
collection-group.js45530644editdlrm
convert.d.ts27760644editdlrm
convert.js71680644editdlrm
document-change.d.ts50330644editdlrm
document-change.js52840644editdlrm
document-reader.d.ts18420644editdlrm
document-reader.js53940644editdlrm
document.d.ts181490644editdlrm
document.js304040644editdlrm
field-value.d.ts85980644editdlrm
field-value.js138840644editdlrm
filter.d.ts68320644editdlrm
filter.js69730644editdlrm
geo-point.d.ts26440644editdlrm
geo-point.js32170644editdlrm
index.d.ts382290644editdlrm
index.js634430644editdlrm
logger.d.ts13100644editdlrm
logger.js21120644editdlrm
order.d.ts10960644editdlrm
order.js75250644editdlrm
path.d.ts121180644editdlrm
path.js189950644editdlrm
pool.d.ts44320644editdlrm
pool.js101160644editdlrm
query-partition.d.ts40110644editdlrm
query-partition.js57610644editdlrm
rate-limiter.d.ts30150644editdlrm
rate-limiter.js58500644editdlrm
recursive-delete.d.ts57140644editdlrm
recursive-delete.js100400644editdlrm
reference.d.ts530960644editdlrm
reference.js1032210644editdlrm
serializer.d.ts29420644editdlrm
serializer.js128170644editdlrm
status-code.d.ts11210644editdlrm
status-code.js7120644editdlrm
timestamp.d.ts69870644editdlrm
timestamp.js96970644editdlrm
transaction.d.ts100980644editdlrm
transaction.js191390644editdlrm
types.d.ts39920644editdlrm
types.js13870644editdlrm
util.d.ts40660644editdlrm
util.js73730644editdlrm
validate.d.ts65270644editdlrm
validate.js123140644editdlrm
watch.d.ts97380644editdlrm
watch.js249880644editdlrm
write-batch.d.ts105210644editdlrm
write-batch.js272330644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/@google-cloud/firestore/build/src/order.js (7525B)
"use strict"; /*! * Copyright 2017 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.compare = exports.compareArrays = exports.primitiveComparator = void 0; const convert_1 = require("./convert"); const path_1 = require("./path"); /*! * The type order as defined by the backend. */ var TypeOrder; (function (TypeOrder) { TypeOrder[TypeOrder["NULL"] = 0] = "NULL"; TypeOrder[TypeOrder["BOOLEAN"] = 1] = "BOOLEAN"; TypeOrder[TypeOrder["NUMBER"] = 2] = "NUMBER"; TypeOrder[TypeOrder["TIMESTAMP"] = 3] = "TIMESTAMP"; TypeOrder[TypeOrder["STRING"] = 4] = "STRING"; TypeOrder[TypeOrder["BLOB"] = 5] = "BLOB"; TypeOrder[TypeOrder["REF"] = 6] = "REF"; TypeOrder[TypeOrder["GEO_POINT"] = 7] = "GEO_POINT"; TypeOrder[TypeOrder["ARRAY"] = 8] = "ARRAY"; TypeOrder[TypeOrder["OBJECT"] = 9] = "OBJECT"; })(TypeOrder || (TypeOrder = {})); /*! * @private * @internal */ function typeOrder(val) { const valueType = (0, convert_1.detectValueType)(val); switch (valueType) { case 'nullValue': return TypeOrder.NULL; case 'integerValue': return TypeOrder.NUMBER; case 'doubleValue': return TypeOrder.NUMBER; case 'stringValue': return TypeOrder.STRING; case 'booleanValue': return TypeOrder.BOOLEAN; case 'arrayValue': return TypeOrder.ARRAY; case 'timestampValue': return TypeOrder.TIMESTAMP; case 'geoPointValue': return TypeOrder.GEO_POINT; case 'bytesValue': return TypeOrder.BLOB; case 'referenceValue': return TypeOrder.REF; case 'mapValue': return TypeOrder.OBJECT; default: throw new Error('Unexpected value type: ' + valueType); } } /*! * @private * @internal */ function primitiveComparator(left, right) { if (left < right) { return -1; } if (left > right) { return 1; } return 0; } exports.primitiveComparator = primitiveComparator; /*! * Utility function to compare doubles (using Firestore semantics for NaN). * @private * @internal */ function compareNumbers(left, right) { if (left < right) { return -1; } if (left > right) { return 1; } if (left === right) { return 0; } // one or both are NaN. if (isNaN(left)) { return isNaN(right) ? 0 : -1; } return 1; } /*! * @private * @internal */ function compareNumberProtos(left, right) { let leftValue, rightValue; if (left.integerValue !== undefined) { leftValue = Number(left.integerValue); } else { leftValue = Number(left.doubleValue); } if (right.integerValue !== undefined) { rightValue = Number(right.integerValue); } else { rightValue = Number(right.doubleValue); } return compareNumbers(leftValue, rightValue); } /*! * @private * @internal */ function compareTimestamps(left, right) { const seconds = primitiveComparator(left.seconds || 0, right.seconds || 0); if (seconds !== 0) { return seconds; } return primitiveComparator(left.nanos || 0, right.nanos || 0); } /*! * @private * @internal */ function compareBlobs(left, right) { if (!(left instanceof Buffer) || !(right instanceof Buffer)) { throw new Error('Blobs can only be compared if they are Buffers.'); } return Buffer.compare(left, right); } /*! * @private * @internal */ function compareReferenceProtos(left, right) { const leftPath = path_1.QualifiedResourcePath.fromSlashSeparatedString(left.referenceValue); const rightPath = path_1.QualifiedResourcePath.fromSlashSeparatedString(right.referenceValue); return leftPath.compareTo(rightPath); } /*! * @private * @internal */ function compareGeoPoints(left, right) { return (primitiveComparator(left.latitude || 0, right.latitude || 0) || primitiveComparator(left.longitude || 0, right.longitude || 0)); } /*! * @private * @internal */ function compareArrays(left, right) { for (let i = 0; i < left.length && i < right.length; i++) { const valueComparison = compare(left[i], right[i]); if (valueComparison !== 0) { return valueComparison; } } // If all the values matched so far, just check the length. return primitiveComparator(left.length, right.length); } exports.compareArrays = compareArrays; /*! * @private * @internal */ function compareObjects(left, right) { // This requires iterating over the keys in the object in order and doing a // deep comparison. const leftKeys = Object.keys(left); const rightKeys = Object.keys(right); leftKeys.sort(); rightKeys.sort(); for (let i = 0; i < leftKeys.length && i < rightKeys.length; i++) { const keyComparison = primitiveComparator(leftKeys[i], rightKeys[i]); if (keyComparison !== 0) { return keyComparison; } const key = leftKeys[i]; const valueComparison = compare(left[key], right[key]); if (valueComparison !== 0) { return valueComparison; } } // If all the keys matched so far, just check the length. return primitiveComparator(leftKeys.length, rightKeys.length); } /*! * @private * @internal */ function compare(left, right) { // First compare the types. const leftType = typeOrder(left); const rightType = typeOrder(right); const typeComparison = primitiveComparator(leftType, rightType); if (typeComparison !== 0) { return typeComparison; } // So they are the same type. switch (leftType) { case TypeOrder.NULL: // Nulls are all equal. return 0; case TypeOrder.BOOLEAN: return primitiveComparator(left.booleanValue, right.booleanValue); case TypeOrder.STRING: return primitiveComparator(left.stringValue, right.stringValue); case TypeOrder.NUMBER: return compareNumberProtos(left, right); case TypeOrder.TIMESTAMP: return compareTimestamps(left.timestampValue, right.timestampValue); case TypeOrder.BLOB: return compareBlobs(left.bytesValue, right.bytesValue); case TypeOrder.REF: return compareReferenceProtos(left, right); case TypeOrder.GEO_POINT: return compareGeoPoints(left.geoPointValue, right.geoPointValue); case TypeOrder.ARRAY: return compareArrays(left.arrayValue.values || [], right.arrayValue.values || []); case TypeOrder.OBJECT: return compareObjects(left.mapValue.fields || {}, right.mapValue.fields || {}); default: throw new Error(`Encountered unknown type order: ${leftType}`); } } exports.compare = compare; //# sourceMappingURL=order.js.map