UNPKG

skyapm-nodejs

Version:

The Node server instrument SDK for Apache SkyWalking

52 lines (46 loc) 1.79 kB
/* * Licensed to the SkyAPM under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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. */ "use strict"; const Plugin = require("../plugin"); const semver = require("semver"); module.exports = new Plugin("mysql-plugin", "mysql", [{ _name: "v1", _description: "Only enhancements to version 1.x", _enhanceModules: ["mysql"], canEnhance: function(version, enhanceFile) { if (this._enhanceModules.indexOf(enhanceFile) > -1 && semver.satisfies(version, "~1")) { return true; } return false; }, getInterceptor: function(enhanceFile) { return require("./" + this._name + "/" + enhanceFile); }, }, { _name: "v2", _description: "Only enhancements to version 2.x", _enhanceModules: ["Connection"], canEnhance: function(version, enhanceFile) { if (this._enhanceModules.indexOf(enhanceFile) > -1 && semver.satisfies(version, "~2")) { return true; } return false; }, getInterceptor: function(enhanceFile) { return require("./" + this._name + "/" + enhanceFile); }, }]);