🚀 Socket Launch Week 🚀 Day 1: Introducing .NET Support in Socket.Learn More →

json-alexander

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-alexander - npm Package Compare versions

Comparing version

to
0.1.3

{
"name": "json-alexander",
"version": "0.1.2",
"version": "0.1.3",
"description": "Serenity Now! Forgiving JSON parser",

@@ -5,0 +5,0 @@ "main": "src/index.js",

@@ -34,2 +34,7 @@ const { isBalanced, trimQuotes, isNull } = require('./utils')

}
const isNumber = Number(input)
if (typeof isNumber === 'number' && !isNaN(isNumber)) {
return isNumber
}

@@ -147,7 +152,6 @@ const [err, first ] = parse(value)

const [errEight, seven ] = parse(balance)
error = errEight
if (seven) {
log('seven', seven)
return seven
}

@@ -162,2 +166,20 @@ if (newerStill.match(/^"?\[{/) && !newerStill.match(/\}\]$/)) {

}
const convert = seven || newerStill
if (typeof convert === 'string') {
const looksLikeArray = convert.match(/^\[(.*)\]/)
if (looksLikeArray && looksLikeArray[1]) {
// TODO refactor for array support e,g ["x", "y"] wont work here
const newVal = looksLikeArray[1].split(",").map((x) => {
return parseJSON(x.trim())
})
return newVal
}
}
if (seven) {
// Parse string like array [one, two, 2, 4]
log('seven', seven)
return seven
}

@@ -164,0 +186,0 @@ throw new Error(`Unable to parse JSON\n${error}\n\n${input}`)