mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
1 line
23 KiB
JSON
1 line
23 KiB
JSON
{"ast":null,"code":"import { _optionalChain } from '@sentry/utils/esm/buildPolyfills';\nimport { loadModule, logger, fill, isThenable } from '@sentry/utils';\n\n// This allows us to use the same array for both defaults options and the type itself.\n// (note `as const` at the end to make it a union of string literal types (i.e. \"a\" | \"b\" | ... )\n// and not just a string[])\n\nvar OPERATIONS = ['aggregate',\n// aggregate(pipeline, options, callback)\n'bulkWrite',\n// bulkWrite(operations, options, callback)\n'countDocuments',\n// countDocuments(query, options, callback)\n'createIndex',\n// createIndex(fieldOrSpec, options, callback)\n'createIndexes',\n// createIndexes(indexSpecs, options, callback)\n'deleteMany',\n// deleteMany(filter, options, callback)\n'deleteOne',\n// deleteOne(filter, options, callback)\n'distinct',\n// distinct(key, query, options, callback)\n'drop',\n// drop(options, callback)\n'dropIndex',\n// dropIndex(indexName, options, callback)\n'dropIndexes',\n// dropIndexes(options, callback)\n'estimatedDocumentCount',\n// estimatedDocumentCount(options, callback)\n'find',\n// find(query, options, callback)\n'findOne',\n// findOne(query, options, callback)\n'findOneAndDelete',\n// findOneAndDelete(filter, options, callback)\n'findOneAndReplace',\n// findOneAndReplace(filter, replacement, options, callback)\n'findOneAndUpdate',\n// findOneAndUpdate(filter, update, options, callback)\n'indexes',\n// indexes(options, callback)\n'indexExists',\n// indexExists(indexes, options, callback)\n'indexInformation',\n// indexInformation(options, callback)\n'initializeOrderedBulkOp',\n// initializeOrderedBulkOp(options, callback)\n'insertMany',\n// insertMany(docs, options, callback)\n'insertOne',\n// insertOne(doc, options, callback)\n'isCapped',\n// isCapped(options, callback)\n'mapReduce',\n// mapReduce(map, reduce, options, callback)\n'options',\n// options(options, callback)\n'parallelCollectionScan',\n// parallelCollectionScan(options, callback)\n'rename',\n// rename(newName, options, callback)\n'replaceOne',\n// replaceOne(filter, doc, options, callback)\n'stats',\n// stats(options, callback)\n'updateMany',\n// updateMany(filter, update, options, callback)\n'updateOne' // updateOne(filter, update, options, callback)\n];\n\n// All of the operations above take `options` and `callback` as their final parameters, but some of them\n// take additional parameters as well. For those operations, this is a map of\n// { <operation name>: [<names of additional parameters>] }, as a way to know what to call the operation's\n// positional arguments when we add them to the span's `data` object later\nvar OPERATION_SIGNATURES = {\n // aggregate intentionally not included because `pipeline` arguments are too complex to serialize well\n // see https://github.com/getsentry/sentry-javascript/pull/3102\n bulkWrite: ['operations'],\n countDocuments: ['query'],\n createIndex: ['fieldOrSpec'],\n createIndexes: ['indexSpecs'],\n deleteMany: ['filter'],\n deleteOne: ['filter'],\n distinct: ['key', 'query'],\n dropIndex: ['indexName'],\n find: ['query'],\n findOne: ['query'],\n findOneAndDelete: ['filter'],\n findOneAndReplace: ['filter', 'replacement'],\n findOneAndUpdate: ['filter', 'update'],\n indexExists: ['indexes'],\n insertMany: ['docs'],\n insertOne: ['doc'],\n mapReduce: ['map', 'reduce'],\n rename: ['newName'],\n replaceOne: ['filter', 'doc'],\n updateMany: ['filter', 'update'],\n updateOne: ['filter', 'update']\n};\n\n/** Tracing integration for mongo package */\nclass Mongo {\n /**\n * @inheritDoc\n */\n static __initStatic() {\n this.id = 'Mongo';\n }\n\n /**\n * @inheritDoc\n */\n __init() {\n this.name = Mongo.id;\n }\n\n /**\n * @inheritDoc\n */\n constructor(options = {}) {\n ;\n Mongo.prototype.__init.call(this);\n this._operations = Array.isArray(options.operations) ? options.operations : OPERATIONS;\n this._describeOperations = 'describeOperations' in options ? options.describeOperations : true;\n this._useMongoose = !!options.useMongoose;\n }\n\n /**\n * @inheritDoc\n */\n setupOnce(_, getCurrentHub) {\n var moduleName = this._useMongoose ? 'mongoose' : 'mongodb';\n var pkg = loadModule(moduleName);\n if (!pkg) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(`Mongo Integration was unable to require \\`${moduleName}\\` package.`);\n return;\n }\n this._instrumentOperations(pkg.Collection, this._operations, getCurrentHub);\n }\n\n /**\n * Patches original collection methods\n */\n _instrumentOperations(collection, operations, getCurrentHub) {\n operations.forEach(operation => this._patchOperation(collection, operation, getCurrentHub));\n }\n\n /**\n * Patches original collection to utilize our tracing functionality\n */\n _patchOperation(collection, operation, getCurrentHub) {\n if (!(operation in collection.prototype)) return;\n var getSpanContext = this._getSpanContextFromOperationArguments.bind(this);\n fill(collection.prototype, operation, function (orig) {\n return function (...args) {\n var lastArg = args[args.length - 1];\n var scope = getCurrentHub().getScope();\n var parentSpan = _optionalChain([scope, 'optionalAccess', _2 => _2.getSpan, 'call', _3 => _3()]);\n\n // Check if the operation was passed a callback. (mapReduce requires a different check, as\n // its (non-callback) arguments can also be functions.)\n if (typeof lastArg !== 'function' || operation === 'mapReduce' && args.length === 2) {\n var span = _optionalChain([parentSpan, 'optionalAccess', _4 => _4.startChild, 'call', _5 => _5(getSpanContext(this, operation, args))]);\n var maybePromise = orig.call(this, ...args);\n if (isThenable(maybePromise)) {\n return maybePromise.then(res => {\n _optionalChain([span, 'optionalAccess', _6 => _6.finish, 'call', _7 => _7()]);\n return res;\n });\n } else {\n _optionalChain([span, 'optionalAccess', _8 => _8.finish, 'call', _9 => _9()]);\n return maybePromise;\n }\n }\n var span = _optionalChain([parentSpan, 'optionalAccess', _10 => _10.startChild, 'call', _11 => _11(getSpanContext(this, operation, args.slice(0, -1)))]);\n return orig.call(this, ...args.slice(0, -1), function (err, result) {\n _optionalChain([span, 'optionalAccess', _12 => _12.finish, 'call', _13 => _13()]);\n lastArg(err, result);\n });\n };\n });\n }\n\n /**\n * Form a SpanContext based on the user input to a given operation.\n */\n _getSpanContextFromOperationArguments(collection, operation, args) {\n var data = {\n collectionName: collection.collectionName,\n dbName: collection.dbName,\n namespace: collection.namespace\n };\n var spanContext = {\n op: 'db',\n description: operation,\n data\n };\n\n // If the operation takes no arguments besides `options` and `callback`, or if argument\n // collection is disabled for this operation, just return early.\n var signature = OPERATION_SIGNATURES[operation];\n var shouldDescribe = Array.isArray(this._describeOperations) ? this._describeOperations.includes(operation) : this._describeOperations;\n if (!signature || !shouldDescribe) {\n return spanContext;\n }\n try {\n // Special case for `mapReduce`, as the only one accepting functions as arguments.\n if (operation === 'mapReduce') {\n const [map, reduce] = args;\n data[signature[0]] = typeof map === 'string' ? map : map.name || '<anonymous>';\n data[signature[1]] = typeof reduce === 'string' ? reduce : reduce.name || '<anonymous>';\n } else {\n for (let i = 0; i < signature.length; i++) {\n data[signature[i]] = JSON.stringify(args[i]);\n }\n }\n } catch (_oO) {\n // no-empty\n }\n return spanContext;\n }\n}\nMongo.__initStatic();\nexport { Mongo };","map":{"version":3,"names":["_optionalChain","loadModule","logger","fill","isThenable","OPERATIONS","OPERATION_SIGNATURES","bulkWrite","countDocuments","createIndex","createIndexes","deleteMany","deleteOne","distinct","dropIndex","find","findOne","findOneAndDelete","findOneAndReplace","findOneAndUpdate","indexExists","insertMany","insertOne","mapReduce","rename","replaceOne","updateMany","updateOne","Mongo","__initStatic","id","__init","name","constructor","options","prototype","call","_operations","Array","isArray","operations","_describeOperations","describeOperations","_useMongoose","useMongoose","setupOnce","_","getCurrentHub","moduleName","pkg","__SENTRY_DEBUG__","error","_instrumentOperations","Collection","collection","forEach","operation","_patchOperation","getSpanContext","_getSpanContextFromOperationArguments","bind","orig","args","lastArg","length","scope","getScope","parentSpan","_2","getSpan","_3","span","_4","startChild","_5","maybePromise","then","res","_6","finish","_7","_8","_9","_10","_11","slice","err","result","_12","_13","data","collectionName","dbName","namespace","spanContext","op","description","signature","shouldDescribe","includes","map","reduce","i","JSON","stringify","_oO"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@sentry/tracing/esm/integrations/node/mongo.js"],"sourcesContent":["import { _optionalChain } from '@sentry/utils/esm/buildPolyfills';\nimport { loadModule, logger, fill, isThenable } from '@sentry/utils';\n\n// This allows us to use the same array for both defaults options and the type itself.\n// (note `as const` at the end to make it a union of string literal types (i.e. \"a\" | \"b\" | ... )\n// and not just a string[])\n\nvar OPERATIONS = [\n 'aggregate', // aggregate(pipeline, options, callback)\n 'bulkWrite', // bulkWrite(operations, options, callback)\n 'countDocuments', // countDocuments(query, options, callback)\n 'createIndex', // createIndex(fieldOrSpec, options, callback)\n 'createIndexes', // createIndexes(indexSpecs, options, callback)\n 'deleteMany', // deleteMany(filter, options, callback)\n 'deleteOne', // deleteOne(filter, options, callback)\n 'distinct', // distinct(key, query, options, callback)\n 'drop', // drop(options, callback)\n 'dropIndex', // dropIndex(indexName, options, callback)\n 'dropIndexes', // dropIndexes(options, callback)\n 'estimatedDocumentCount', // estimatedDocumentCount(options, callback)\n 'find', // find(query, options, callback)\n 'findOne', // findOne(query, options, callback)\n 'findOneAndDelete', // findOneAndDelete(filter, options, callback)\n 'findOneAndReplace', // findOneAndReplace(filter, replacement, options, callback)\n 'findOneAndUpdate', // findOneAndUpdate(filter, update, options, callback)\n 'indexes', // indexes(options, callback)\n 'indexExists', // indexExists(indexes, options, callback)\n 'indexInformation', // indexInformation(options, callback)\n 'initializeOrderedBulkOp', // initializeOrderedBulkOp(options, callback)\n 'insertMany', // insertMany(docs, options, callback)\n 'insertOne', // insertOne(doc, options, callback)\n 'isCapped', // isCapped(options, callback)\n 'mapReduce', // mapReduce(map, reduce, options, callback)\n 'options', // options(options, callback)\n 'parallelCollectionScan', // parallelCollectionScan(options, callback)\n 'rename', // rename(newName, options, callback)\n 'replaceOne', // replaceOne(filter, doc, options, callback)\n 'stats', // stats(options, callback)\n 'updateMany', // updateMany(filter, update, options, callback)\n 'updateOne', // updateOne(filter, update, options, callback)\n] ;\n\n// All of the operations above take `options` and `callback` as their final parameters, but some of them\n// take additional parameters as well. For those operations, this is a map of\n// { <operation name>: [<names of additional parameters>] }, as a way to know what to call the operation's\n// positional arguments when we add them to the span's `data` object later\nvar OPERATION_SIGNATURES\n\n = {\n // aggregate intentionally not included because `pipeline` arguments are too complex to serialize well\n // see https://github.com/getsentry/sentry-javascript/pull/3102\n bulkWrite: ['operations'],\n countDocuments: ['query'],\n createIndex: ['fieldOrSpec'],\n createIndexes: ['indexSpecs'],\n deleteMany: ['filter'],\n deleteOne: ['filter'],\n distinct: ['key', 'query'],\n dropIndex: ['indexName'],\n find: ['query'],\n findOne: ['query'],\n findOneAndDelete: ['filter'],\n findOneAndReplace: ['filter', 'replacement'],\n findOneAndUpdate: ['filter', 'update'],\n indexExists: ['indexes'],\n insertMany: ['docs'],\n insertOne: ['doc'],\n mapReduce: ['map', 'reduce'],\n rename: ['newName'],\n replaceOne: ['filter', 'doc'],\n updateMany: ['filter', 'update'],\n updateOne: ['filter', 'update'],\n};\n\n/** Tracing integration for mongo package */\nclass Mongo {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'Mongo';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = Mongo.id;}\n\n /**\n * @inheritDoc\n */\n constructor(options = {}) {;Mongo.prototype.__init.call(this);\n this._operations = Array.isArray(options.operations) ? options.operations : (OPERATIONS );\n this._describeOperations = 'describeOperations' in options ? options.describeOperations : true;\n this._useMongoose = !!options.useMongoose;\n }\n\n /**\n * @inheritDoc\n */\n setupOnce(_, getCurrentHub) {\n var moduleName = this._useMongoose ? 'mongoose' : 'mongodb';\n var pkg = loadModule(moduleName);\n\n if (!pkg) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(`Mongo Integration was unable to require \\`${moduleName}\\` package.`);\n return;\n }\n\n this._instrumentOperations(pkg.Collection, this._operations, getCurrentHub);\n }\n\n /**\n * Patches original collection methods\n */\n _instrumentOperations(collection, operations, getCurrentHub) {\n operations.forEach((operation) => this._patchOperation(collection, operation, getCurrentHub));\n }\n\n /**\n * Patches original collection to utilize our tracing functionality\n */\n _patchOperation(collection, operation, getCurrentHub) {\n if (!(operation in collection.prototype)) return;\n\n var getSpanContext = this._getSpanContextFromOperationArguments.bind(this);\n\n fill(collection.prototype, operation, function (orig) {\n return function ( ...args) {\n var lastArg = args[args.length - 1];\n var scope = getCurrentHub().getScope();\n var parentSpan = _optionalChain([scope, 'optionalAccess', _2 => _2.getSpan, 'call', _3 => _3()]);\n\n // Check if the operation was passed a callback. (mapReduce requires a different check, as\n // its (non-callback) arguments can also be functions.)\n if (typeof lastArg !== 'function' || (operation === 'mapReduce' && args.length === 2)) {\n var span = _optionalChain([parentSpan, 'optionalAccess', _4 => _4.startChild, 'call', _5 => _5(getSpanContext(this, operation, args))]);\n var maybePromise = orig.call(this, ...args) ;\n\n if (isThenable(maybePromise)) {\n return maybePromise.then((res) => {\n _optionalChain([span, 'optionalAccess', _6 => _6.finish, 'call', _7 => _7()]);\n return res;\n });\n } else {\n _optionalChain([span, 'optionalAccess', _8 => _8.finish, 'call', _9 => _9()]);\n return maybePromise;\n }\n }\n\n var span = _optionalChain([parentSpan, 'optionalAccess', _10 => _10.startChild, 'call', _11 => _11(getSpanContext(this, operation, args.slice(0, -1)))]);\n return orig.call(this, ...args.slice(0, -1), function (err, result) {\n _optionalChain([span, 'optionalAccess', _12 => _12.finish, 'call', _13 => _13()]);\n lastArg(err, result);\n });\n };\n });\n }\n\n /**\n * Form a SpanContext based on the user input to a given operation.\n */\n _getSpanContextFromOperationArguments(\n collection,\n operation,\n args,\n ) {\n var data = {\n collectionName: collection.collectionName,\n dbName: collection.dbName,\n namespace: collection.namespace,\n };\n var spanContext = {\n op: 'db',\n description: operation,\n data,\n };\n\n // If the operation takes no arguments besides `options` and `callback`, or if argument\n // collection is disabled for this operation, just return early.\n var signature = OPERATION_SIGNATURES[operation];\n var shouldDescribe = Array.isArray(this._describeOperations)\n ? this._describeOperations.includes(operation)\n : this._describeOperations;\n\n if (!signature || !shouldDescribe) {\n return spanContext;\n }\n\n try {\n // Special case for `mapReduce`, as the only one accepting functions as arguments.\n if (operation === 'mapReduce') {\n const [map, reduce] = args ;\n data[signature[0]] = typeof map === 'string' ? map : map.name || '<anonymous>';\n data[signature[1]] = typeof reduce === 'string' ? reduce : reduce.name || '<anonymous>';\n } else {\n for (let i = 0; i < signature.length; i++) {\n data[signature[i]] = JSON.stringify(args[i]);\n }\n }\n } catch (_oO) {\n // no-empty\n }\n\n return spanContext;\n }\n}Mongo.__initStatic();\n\nexport { Mongo };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |