Rocky_Mountain_Vending/.pnpm-store/v10/files/19/2d39c2677a87a44f97d8731345700c27e83fda90f41dfd1cb2fc2f7ee7a1e1516ecea71c9fb563e12aa1e52f7d693e41683de8d9748bd783d45cc6a5e7cf1c
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

93 lines
2.4 KiB
Text

Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const instrumentationMongodb = require('@opentelemetry/instrumentation-mongodb');
const core = require('@sentry/core');
const nodeCore = require('@sentry/node-core');
const INTEGRATION_NAME = 'Mongo';
const instrumentMongo = nodeCore.generateInstrumentOnce(
INTEGRATION_NAME,
() =>
new instrumentationMongodb.MongoDBInstrumentation({
dbStatementSerializer: _defaultDbStatementSerializer,
responseHook(span) {
nodeCore.addOriginToSpan(span, 'auto.db.otel.mongo');
},
}),
);
/**
* Replaces values in document with '?', hiding PII and helping grouping.
*/
function _defaultDbStatementSerializer(commandObj) {
const resultObj = _scrubStatement(commandObj);
return JSON.stringify(resultObj);
}
function _scrubStatement(value) {
if (Array.isArray(value)) {
return value.map(element => _scrubStatement(element));
}
if (isCommandObj(value)) {
const initial = {};
return Object.entries(value)
.map(([key, element]) => [key, _scrubStatement(element)])
.reduce((prev, current) => {
if (isCommandEntry(current)) {
prev[current[0]] = current[1];
}
return prev;
}, initial);
}
// A value like string or number, possible contains PII, scrub it
return '?';
}
function isCommandObj(value) {
return typeof value === 'object' && value !== null && !isBuffer(value);
}
function isBuffer(value) {
let isBuffer = false;
if (typeof Buffer !== 'undefined') {
isBuffer = Buffer.isBuffer(value);
}
return isBuffer;
}
function isCommandEntry(value) {
return Array.isArray(value);
}
const _mongoIntegration = (() => {
return {
name: INTEGRATION_NAME,
setupOnce() {
instrumentMongo();
},
};
}) ;
/**
* Adds Sentry tracing instrumentation for the [mongodb](https://www.npmjs.com/package/mongodb) library.
*
* For more information, see the [`mongoIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mongo/).
*
* @example
* ```javascript
* const Sentry = require('@sentry/node');
*
* Sentry.init({
* integrations: [Sentry.mongoIntegration()],
* });
* ```
*/
const mongoIntegration = core.defineIntegration(_mongoIntegration);
exports._defaultDbStatementSerializer = _defaultDbStatementSerializer;
exports.instrumentMongo = instrumentMongo;
exports.mongoIntegration = mongoIntegration;
//# sourceMappingURL=mongo.js.map