Socket
Socket
Sign inDemoInstall

fast-safe-stringify

Package Overview
Dependencies
0
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.8 to 1.0.9

14

benchmark.js
var bench = require('fastbench')
var inspect = require('util').inspect
var jsonStringifySafe = require('json-stringify-safe')
var fastSafeStringify= require('./')
var fastSafeStringify = require('./')
var obj = {foo: 1}

@@ -13,23 +13,23 @@ obj.o = {obj: obj}

var run = bench([
function inspectBench(cb) {
function inspectBench (cb) {
inspect(obj)
setImmediate(cb)
},
function jsonStringifySafeBench(cb) {
function jsonStringifySafeBench (cb) {
jsonStringifySafe(obj)
setImmediate(cb)
},
function fastSafeStringifyBench(cb) {
function fastSafeStringifyBench (cb) {
fastSafeStringify(obj)
setImmediate(cb)
},
function inspectDeepBench(cb) {
function inspectDeepBench (cb) {
inspect(deep)
setImmediate(cb)
},
function jsonStringifySafeDeepBench(cb) {
function jsonStringifySafeDeepBench (cb) {
jsonStringifySafe(deep)
setImmediate(cb)
},
function fastSafeStringifyDeepBench(cb) {
function fastSafeStringifyDeepBench (cb) {
fastSafeStringify(deep)

@@ -36,0 +36,0 @@ setImmediate(cb)

@@ -6,2 +6,2 @@ var safeStringify = require('./')

console.log(safeStringify(o))
console.log(JSON.stringify(o)) //<-- throws
console.log(JSON.stringify(o)) // <-- throws
module.exports = stringify
function stringify(obj) {
function stringify (obj) {
decirc(obj, '', [], null)
return JSON.stringify(obj)
}
function Circle(val, k, parent) {
function Circle (val, k, parent) {
this.val = val

@@ -12,7 +12,7 @@ this.k = k

}
Circle.prototype.toJSON = function toJSON() {
this.parent[this.k] = this.val;
return '[Circular]'
Circle.prototype.toJSON = function toJSON () {
this.parent[this.k] = this.val
return '[Circular]'
}
function decirc(val, k, stack, parent) {
function decirc (val, k, stack, parent) {
var keys, len, i, pos

@@ -36,2 +36,2 @@ if (typeof val !== 'object' || val === null) { return }

}
}
}
{
"name": "fast-safe-stringify",
"version": "1.0.8",
"version": "1.0.9",
"description": "Safely and quickly serialize JavaScript objects",
"main": "index.js",
"scripts": {
"test": "tap test.js"
"test": "standard && tap test.js"
},

@@ -14,2 +14,3 @@ "author": "David Mark Clements",

"json-stringify-safe": "^5.0.1",
"standard": "^6.0.8",
"tap": "^5.7.0"

@@ -16,0 +17,0 @@ },

@@ -5,3 +5,3 @@ var test = require('tap').test

test('circular reference to root', function(assert) {
test('circular reference to root', function (assert) {
var fixture = {name: 'Tywin Lannister'}

@@ -17,3 +17,3 @@ fixture.circle = fixture

test('nested circular reference to root', function(assert) {
test('nested circular reference to root', function (assert) {
var fixture = {name: 'Tywin Lannister'}

@@ -29,3 +29,3 @@ fixture.id = {circle: fixture}

test('child circular reference', function(assert) {
test('child circular reference', function (assert) {
var fixture = {name: 'Tywin Lannister', child: {name: 'Tyrion Lannister'}}

@@ -43,3 +43,3 @@ fixture.child.dinklage = fixture.child

test('nested child circular reference', function(assert) {
test('nested child circular reference', function (assert) {
var fixture = {name: 'Tywin Lannister', child: {name: 'Tyrion Lannister'}}

@@ -57,3 +57,3 @@ fixture.child.actor = {dinklage: fixture.child}

test('circular objects in an array', function(assert) {
test('circular objects in an array', function (assert) {
var fixture = {name: 'Tywin Lannister'}

@@ -69,3 +69,3 @@ fixture.hand = [fixture, fixture]

test('nested circular references in an array', function(assert) {
test('nested circular references in an array', function (assert) {
var fixture = {

@@ -79,5 +79,5 @@ name: 'Tywin Lannister',

var expected = s({
name: 'Tywin Lannister',
name: 'Tywin Lannister',
offspring: [
{name: 'Tyrion Lannister', dinklage: '[Circular]'},
{name: 'Tyrion Lannister', dinklage: '[Circular]'},
{name: 'Cersei Lannister', headey: '[Circular]'}

@@ -91,3 +91,3 @@ ]

test('circular arrays', function(assert) {
test('circular arrays', function (assert) {
var fixture = []

@@ -101,10 +101,10 @@ fixture.push(fixture, fixture)

test('nested circular arrays', function(assert) {
test('nested circular arrays', function (assert) {
var fixture = []
fixture.push(
{name: 'Jon Snow', bastards: fixture},
{name: 'Jon Snow', bastards: fixture},
{name: 'Ramsay Bolton', bastards: fixture}
)
var expected = s([
{name: 'Jon Snow', bastards: '[Circular]'},
{name: 'Jon Snow', bastards: '[Circular]'},
{name: 'Ramsay Bolton', bastards: '[Circular]'}

@@ -117,6 +117,6 @@ ])

test('repeated non-circular references in objects', function(assert) {
test('repeated non-circular references in objects', function (assert) {
var daenerys = {name: 'Daenerys Targaryen'}
var fixture = {
motherOfDragons: daenerys,
motherOfDragons: daenerys,
queenOfMeereen: daenerys

@@ -130,3 +130,3 @@ }

test('repeated non-circular references in arrays', function(assert) {
test('repeated non-circular references in arrays', function (assert) {
var daenerys = {name: 'Daenerys Targaryen'}

@@ -138,2 +138,2 @@ var fixture = [daenerys, daenerys]

assert.end()
})
})
SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc