Socket
Socket
Sign inDemoInstall

fast-json-stringify

Package Overview
Dependencies
Maintainers
2
Versions
160
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fast-json-stringify - npm Package Compare versions

Comparing version 0.12.4 to 0.13.0

test/array.test.js

50

index.js

@@ -405,3 +405,45 @@ 'use strict'

var result = nested(laterCode, name, '[i]', schema.items, externalSchema, fullSchema)
var result = {code: '', laterCode: ''}
if (Array.isArray(schema.items)) {
result = schema.items.reduce((res, item, i) => {
var accessor = '[i]'
const tmpRes = nested(laterCode, name, accessor, item, externalSchema, fullSchema, i)
var condition
switch (item.type) {
case 'null':
condition = `obj${accessor} === null`
break
case 'string':
condition = `typeof obj${accessor} === 'string'`
break
case 'integer':
condition = `Number.isInteger(obj${accessor})`
break
case 'number':
condition = `!Number.isInteger(obj${accessor}) && Number.isFinite(obj${accessor})`
break
case 'boolean':
condition = `typeof obj${accessor} === 'boolean'`
break
case 'object':
condition = `obj${accessor} && typeof obj${accessor} === 'object' && obj${accessor}.constructor === Object`
break
case 'array':
condition = `Array.isArray(obj${accessor})`
break
default:
throw new Error(`${item.type} unsupported`)
}
return {
code: `${res.code}
if (${condition}) {
${tmpRes.code}
}`,
laterCode: `${res.laterCode}
${tmpRes.laterCode}`
}
}, result)
} else {
result = nested(laterCode, name, '[i]', schema.items, externalSchema, fullSchema)
}

@@ -432,3 +474,3 @@ code += `

function nested (laterCode, name, key, schema, externalSchema, fullSchema) {
function nested (laterCode, name, key, schema, externalSchema, fullSchema, subKey) {
var code = ''

@@ -465,3 +507,3 @@ var funcName

case 'object':
funcName = (name + key).replace(/[-.\[\]]/g, '') // eslint-disable-line
funcName = (name + key + subKey).replace(/[-.\[\]]/g, '') // eslint-disable-line
laterCode = buildObject(schema, laterCode, funcName, externalSchema, fullSchema)

@@ -473,3 +515,3 @@ code += `

case 'array':
funcName = (name + key).replace(/[-.\[\]]/g, '') // eslint-disable-line
funcName = (name + key + subKey).replace(/[-.\[\]]/g, '') // eslint-disable-line
laterCode = buildArray(schema, laterCode, funcName, externalSchema, fullSchema)

@@ -476,0 +518,0 @@ code += `

2

package.json
{
"name": "fast-json-stringify",
"version": "0.12.4",
"version": "0.13.0",
"description": "Stringify your JSON at max speed",

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc