mysql2
Advanced tools
Comparing version 3.9.4 to 3.9.5
@@ -19,3 +19,3 @@ 'use strict'; | ||
return JSON.stringify({ | ||
[str]: 1 | ||
[str]: 1, | ||
}).slice(1, -3); | ||
@@ -33,3 +33,3 @@ } | ||
} catch (err) { | ||
highlightFn = text => { | ||
highlightFn = (text) => { | ||
if (!cardinalRecommended) { | ||
@@ -61,3 +61,3 @@ // eslint-disable-next-line no-console | ||
if (Array.isArray(list)) { | ||
return list.some(t => type === Types[t]); | ||
return list.some((t) => type === Types[t]); | ||
} | ||
@@ -69,1 +69,11 @@ | ||
exports.typeMatch = typeMatch; | ||
const privateObjectProps = new Set([ | ||
'__defineGetter__', | ||
'__defineSetter__', | ||
'__lookupGetter__', | ||
'__lookupSetter__', | ||
'__proto__', | ||
]); | ||
exports.privateObjectProps = privateObjectProps; |
@@ -125,9 +125,3 @@ 'use strict'; | ||
} else { | ||
parserFn('const result = Object.create(null);'); | ||
parserFn(`Object.defineProperty(result, "constructor", { | ||
value: Object.create(null), | ||
writable: false, | ||
configurable: false, | ||
enumerable: false | ||
});`); | ||
parserFn('const result = {};'); | ||
} | ||
@@ -156,2 +150,9 @@ | ||
fieldName = helpers.srcEscape(fields[i].name); | ||
if (helpers.privateObjectProps.has(fields[i].name)) { | ||
throw new Error( | ||
`The field name (${fieldName}) can't be the same as an object's private property.`, | ||
); | ||
} | ||
parserFn(`// ${fieldName}: ${typeNames[fields[i].columnType]}`); | ||
@@ -165,5 +166,3 @@ | ||
tableName = helpers.srcEscape(fields[i].table); | ||
parserFn( | ||
`if (!result[${tableName}]) result[${tableName}] = Object.create(null);`, | ||
); | ||
parserFn(`if (!result[${tableName}]) result[${tableName}] = {};`); | ||
lvalue = `result[${tableName}][${fieldName}]`; | ||
@@ -170,0 +169,0 @@ } else if (options.rowsAsArray) { |
@@ -134,9 +134,3 @@ 'use strict'; | ||
} else { | ||
parserFn('const result = Object.create(null);'); | ||
parserFn(`Object.defineProperty(result, "constructor", { | ||
value: Object.create(null), | ||
writable: false, | ||
configurable: false, | ||
enumerable: false | ||
});`); | ||
parserFn('const result = {};'); | ||
} | ||
@@ -153,5 +147,3 @@ | ||
for (let i = 0; i < resultTablesArray.length; i++) { | ||
parserFn( | ||
`result[${helpers.srcEscape(resultTablesArray[i])}] = Object.create(null);`, | ||
); | ||
parserFn(`result[${helpers.srcEscape(resultTablesArray[i])}] = {};`); | ||
} | ||
@@ -164,2 +156,9 @@ } | ||
fieldName = helpers.srcEscape(fields[i].name); | ||
if (helpers.privateObjectProps.has(fields[i].name)) { | ||
throw new Error( | ||
`The field name (${fieldName}) can't be the same as an object's private property.`, | ||
); | ||
} | ||
parserFn(`// ${fieldName}: ${typeNames[fields[i].columnType]}`); | ||
@@ -166,0 +165,0 @@ if (typeof options.nestTables === 'string') { |
{ | ||
"name": "mysql2", | ||
"version": "3.9.4", | ||
"version": "3.9.5", | ||
"description": "fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
709659
16576