New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jsonesc

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsonesc - npm Package Compare versions

Comparing version 0.4.3 to 0.4.4

2

dist/index.d.ts

@@ -5,2 +5,4 @@ export default class JsonEsc {

constructor();
useDate: boolean;
registerDate(): void;
registerRaw(key: string, type: object, encoder: (self: object) => string, decoder: (str: string) => object): void;

@@ -7,0 +9,0 @@ register(key: string, type: object, encoder: (self: object) => string, decoder: (str: string) => object): void;

29

dist/index.js

@@ -8,5 +8,9 @@ "use strict";

this._decodeTable = {};
this.registerRaw('Date', Date, Codec.encodeDate, Codec.decodeDate);
this.useDate = false;
this.registerRaw('Bin', Uint8Array, Codec.encodeUint8Array, Codec.decodeUint8Array);
}
registerDate() {
this.registerRaw('Date', Date, Codec.encodeDate, Codec.decodeDate);
this.useDate = true;
}
registerRaw(key, type, encoder, decoder) {

@@ -83,2 +87,9 @@ if (type && encoder) {

stringify(input, space) {
if (this.useDate) {
let dateToJSON = Date.prototype.toJSON;
delete Date.prototype.toJSON;
let result = JSON.stringify(input, (key, value) => this.replacer(key, value), space);
Date.prototype.toJSON = dateToJSON;
return result;
}
return JSON.stringify(input, (key, value) => this.replacer(key, value), space);

@@ -112,3 +123,3 @@ }

}
return value;
return JSON.stringify(value);
}

@@ -176,11 +187,13 @@ case 'object': {

}
let dateToJSON = Date.prototype.toJSON;
delete Date.prototype.toJSON;
let result = JsonEsc.defaultEncoder.stringify(input, space);
Date.prototype.toJSON = dateToJSON;
return result;
else {
return JsonEsc.defaultEncoder.stringify(input, space);
}
}
}
JsonEsc.defaultEncoder = new JsonEsc();
JsonEsc.defaultEncoder = (() => {
let defaultEncoder = new JsonEsc();
defaultEncoder.registerDate();
return defaultEncoder;
})();
exports.default = JsonEsc;
//# sourceMappingURL=index.js.map
{
"name": "jsonesc",
"version": "0.4.3",
"version": "0.4.4",
"description": "Json Escape",

@@ -19,3 +19,3 @@ "repository": {

"@types/mocha": "^5.2.0",
"@types/node": "^9.6.6",
"@types/node": "^11.9.5",
"base64-js": "^1.3.0",

@@ -25,7 +25,7 @@ "bson": "^4.0.1",

"cross-env": "^5.1.6",
"mocha": "^5.1.1",
"mocha": "^6.0.1",
"msgpack-lite": "^0.1.26",
"ts-node": "^8.0.2",
"tslint": "^5.9.1",
"typescript": "^3.3.3"
"tslint": "^5.13.0",
"typescript": "^3.3.3333"
},

@@ -32,0 +32,0 @@ "scripts": {

# Json Escape
<a href='https://travis-ci.org/ticlo/jsonesc'><img src="https://travis-ci.org/ticlo/jsonesc.svg?branch=master" title="travis-ci"></a>
<a href='https://travis-ci.com/ticlo/jsonesc'><img src="https://travis-ci.com/ticlo/jsonesc.svg?branch=master" title="travis-ci"></a>

@@ -5,0 +5,0 @@

@@ -5,13 +5,19 @@ import * as Codec from './codec';

private _encodeTable: Map<object, (self: object) => string> = new Map();
private _decodeTable: { [key: string]: (str: string) => object } = {};
private _decodeTable: {[key: string]: (str: string) => object} = {};
constructor() {
this.registerRaw('Date', Date, Codec.encodeDate, Codec.decodeDate);
this.registerRaw('Bin', Uint8Array, Codec.encodeUint8Array, Codec.decodeUint8Array);
}
encodeDate = false;
registerDate() {
this.registerRaw('Date', Date, Codec.encodeDate, Codec.decodeDate);
this.encodeDate = true;
}
registerRaw(key: string, type: object,
encoder: (self: object) => string,
decoder: (str: string) => object) {
encoder: (self: object) => string,
decoder: (str: string) => object) {
if (type && encoder) {

@@ -24,5 +30,6 @@ this._encodeTable.set(type, encoder);

}
register(key: string, type: object,
encoder: (self: object) => string,
decoder: (str: string) => object) {
encoder: (self: object) => string,
decoder: (str: string) => object) {
let prefix = `\u001b${key}:`;

@@ -94,2 +101,9 @@ let prefixLen = prefix.length;

stringify(input: any, space?: number): string {
if (this.encodeDate) {
let dateToJSON = Date.prototype.toJSON;
delete Date.prototype.toJSON;
let result = JSON.stringify(input, (key: string, value: any) => this.replacer(key, value), space);
Date.prototype.toJSON = dateToJSON;
return result;
}
return JSON.stringify(input, (key: string, value: any) => this.replacer(key, value), space);

@@ -126,3 +140,3 @@ }

}
return value;
return JSON.stringify(value);
}

@@ -181,17 +195,20 @@ case 'object': {

private static defaultEncoder: JsonEsc = new JsonEsc();
private static defaultEncoder: JsonEsc = (() => {
let defaultEncoder = new JsonEsc();
defaultEncoder.registerDate();
return defaultEncoder;
})();
static parse(str: string): any {
return JsonEsc.defaultEncoder.parse(str);
}
static stringify(input: any, space?: number, sortKeys: boolean = false): string {
if (sortKeys === true) {
return JsonEsc.defaultEncoder.stringifySorted(input, space);
} else {
return JsonEsc.defaultEncoder.stringify(input, space);
}
let dateToJSON = Date.prototype.toJSON;
delete Date.prototype.toJSON;
let result = JsonEsc.defaultEncoder.stringify(input, space);
Date.prototype.toJSON = dateToJSON;
return result;
}
}

Sorry, the diff of this file is not supported yet

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