in packages/mysql/lib/mysql_p.js [158:192]
function resolveArguments(argsObj) {
var args = {};
if (argsObj && argsObj.length > 0) {
if (argsObj[0] instanceof Object) {
args.sql = argsObj[0];
// Patch for mysql2
if (argsObj[0].values) {
args.values = argsObj[0].values; // mysql implementation
} else if (typeof argsObj[2] === 'function') {
args.values = typeof argsObj[1] !== 'function' ? argsObj[1] : null; // mysql2 implementation
}
args.callback = typeof argsObj[1] === 'function'
? argsObj[1]
: (
typeof argsObj[2] === 'function'
? argsObj[2]
: undefined
);
if (!argsObj[1] && argsObj[0].on instanceof Function) {
args.sql = argsObj[0];
}
} else {
args.sql = argsObj[0];
args.values = typeof argsObj[1] !== 'function' ? argsObj[1] : null;
args.callback = typeof argsObj[1] === 'function' ? argsObj[1] : (typeof argsObj[2] === 'function' ? argsObj[2] : undefined);
}
args.segment = (argsObj[argsObj.length-1] != null && argsObj[argsObj.length-1].constructor && (argsObj[argsObj.length-1].constructor.name === 'Segment' ||
argsObj[argsObj.length-1].constructor.name === 'Subsegment')) ? argsObj[argsObj.length-1] : null;
}
return args;
}