Socket
Socket
Sign inDemoInstall

json-ascii

Package Overview
Dependencies
Maintainers
4
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-ascii - npm Package Compare versions

Comparing version 3.3.2 to 3.3.3

42

__test__/object-property-base64-encoder-test.js

@@ -18,5 +18,5 @@ 'use strict'

const objectToEncode = {
str: "foo",
str: 'foo',
bar: {
baz: "baz"
baz: 'baz'
},

@@ -26,3 +26,4 @@ array: ['foo', 'bar'],

}
const encodedObject = objectPropertyEncoder.encode(objectToEncode, {str: {}, array: {}})
const encoderConfig = {str: {}, array: {}}
const encodedObject = objectPropertyEncoder.encode(objectToEncode, encoderConfig)
assertObjectEqual({

@@ -34,5 +35,6 @@ str: 'Zm9v',

array: ['foo', 'bar'],
untouched: 123
untouched: 123,
base64EncoderConfig: encoderConfig
}, encodedObject)
const decodedObject = objectPropertyEncoder.decode(encodedObject, {str: {}, array: {}})
const decodedObject = objectPropertyEncoder.decode(encodedObject, encodedObject.base64EncoderConfig)
assertObjectEqual(objectToEncode, decodedObject)

@@ -50,3 +52,3 @@ })

}
const encodedObject = objectPropertyEncoder.encode(objectToEncode, {
const encoderConfig = {
str: {},

@@ -56,3 +58,4 @@ array: {type: 'array'},

foobar: {type: 'object'}
})
}
const encodedObject = objectPropertyEncoder.encode(objectToEncode, encoderConfig)
assertObjectEqual({

@@ -62,10 +65,6 @@ str: 'Zm9v',

bar: 'eyJiYXoiOiJiYXoifQ==',
untouched: 123
untouched: 123,
base64EncoderConfig: encoderConfig
}, encodedObject)
const decodedObject = objectPropertyEncoder.decode(encodedObject, {
str: {},
array: {type: 'array'},
bar: {type: 'object'},
foobar: {type: 'object'}
})
const decodedObject = objectPropertyEncoder.decode(encodedObject, encodedObject.base64EncoderConfig)
assertObjectEqual(objectToEncode, decodedObject)

@@ -81,3 +80,3 @@ })

}
const encodedObject = objectPropertyEncoder.encode(objectToEncode, {
const encoderConfig = {
str: {},

@@ -87,3 +86,4 @@ array: {type: 'array'},

foobar: {type: 'object'}
})
}
const encodedObject = objectPropertyEncoder.encode(objectToEncode, encoderConfig)
assertObjectEqual({

@@ -93,12 +93,8 @@ str: 'Zm9v',

bar: 'null',
untouched: 123
untouched: 123,
base64EncoderConfig: encoderConfig
}, encodedObject)
const decodedObject = objectPropertyEncoder.decode(encodedObject, {
str: {},
array: {type: 'array'},
bar: {type: 'object'},
foobar: {type: 'object'}
})
const decodedObject = objectPropertyEncoder.decode(encodedObject, encodedObject.base64EncoderConfig)
assertObjectEqual(objectToEncode, decodedObject)
})
})
'use strict'
const _ = require('lodash')
const assert = require('assert')

@@ -21,8 +22,14 @@ class ObjectPropertyBase64Encoder {

returnObject.base64EncoderConfig = fieldListConfiguration
return returnObject
}
decode(object, fieldListConfiguration) {
decode(object, encoderConfiguraiton) {
const returnObject = _.clone(object)
_.each(_.keys(fieldListConfiguration), (field) => {
const fieldListConfiguration = encoderConfiguraiton || object.base64EncoderConfig
assert.ok(fieldListConfiguration, 'could not find an encoder configuration to decode with')
_.each(_.keys(fieldListConfiguration), (field) => {
const type = _.get(fieldListConfiguration[field], 'type')

@@ -40,2 +47,3 @@ if (type && _.includes(['object', 'array'], type)) {

delete returnObject.base64EncoderConfig
return returnObject

@@ -42,0 +50,0 @@ }

{
"name": "json-ascii",
"version": "3.3.2",
"version": "3.3.3",
"description": "encodes and decodes utf8 four byte characters",

@@ -37,4 +37,5 @@ "main": "json-ascii.js",

"dependencies": {
"assert": "1.4.1",
"lodash": "4.17.4"
}
}
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