Socket
Socket
Sign inDemoInstall

jsan

Package Overview
Dependencies
Maintainers
2
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsan - npm Package Compare versions

Comparing version 3.1.10 to 3.1.11

.history/lib/cycle_20180428230119.js

2

lib/cycle.js

@@ -44,3 +44,3 @@ var pathGetter = require('./path-getter');

var value = replacer ? replacer(key || '', _value) : _value;
var value = typeof replacer === 'function' ? replacer(key || '', _value) : _value;

@@ -47,0 +47,0 @@ if (options.date && value instanceof Date) {

@@ -21,3 +21,8 @@ var cycle = require('./cycle');

var decycled = cycle.decycle(value, options, replacer);
return JSON.stringify(decycled);
if (arguments.length === 1) {
return JSON.stringify(decycled);
} else {
// decycle already handles when replacer is a function.
return JSON.stringify(decycled, Array.isArray(replacer) ? replacer : null, space);
}
}

@@ -24,0 +29,0 @@

{
"name": "jsan",
"version": "3.1.10",
"version": "3.1.11",
"description": "handle circular references when stringifying and parsing",

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

@@ -5,3 +5,29 @@ var assert = require('assert');

describe('jsan', function() {
describe('has a stringify method', function() {
describe('has a stringify method', function() {
it('respects the replacer array argument', function() {
var obj = {a: 1, b: 2};
var JSONed = JSON.stringify(obj, ['a']);
var jsaned = jsan.stringify(obj, ['a']);
assert.equal(JSONed, jsaned);
});
it('respects the replacer function argument', function() {
var obj = {a: 1, b: 2, c: {r: /foo/}};
var replacer = function(index, value) {
if (value.test) {
return value.toString();
}
}
var JSONed = JSON.stringify(obj, replacer);
var jsaned = jsan.stringify(obj, replacer);
assert.equal(JSONed, jsaned);
});
it('respects the space argument', function() {
var obj = {a: 1, b: 2, c: {foo: 'bar'}};
var JSONed = JSON.stringify(obj, null, 2);
var jsaned = jsan.stringify(obj, null, 2);
assert.equal(JSONed, jsaned);
});
it('behaves the same as JSON.stringify for simple jsonable objects', function() {

@@ -8,0 +34,0 @@ var obj = {

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