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

cson

Package Overview
Dependencies
Maintainers
1
Versions
113
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cson - npm Package Compare versions

Comparing version 2.0.0 to 3.0.0

2

docs/assets/search_data.js

@@ -1,1 +0,1 @@

window.searchData = [{"t":"CSON","p":"classes/CSON.html"},{"t":".stringify","h":"CSON","p":"classes/CSON.html#stringify-instance"},{"t":".parse","h":"CSON","p":"classes/CSON.html#parse-instance"},{"t":".load","h":"CSON","p":"classes/CSON.html#load-instance"},{"t":".require","h":"CSON","p":"classes/CSON.html#require-instance"},{"t":".createString","h":"CSON","p":"classes/CSON.html#createString-instance"},{"t":".parseString","h":"CSON","p":"classes/CSON.html#parseString-instance"},{"t":".parseFile","h":"CSON","p":"classes/CSON.html#parseFile-instance"},{"t":".requireFile","h":"CSON","p":"classes/CSON.html#requireFile-instance"},{"t":".createJSONString","h":"CSON","p":"classes/CSON.html#createJSONString-instance"},{"t":".createCSONString","h":"CSON","p":"classes/CSON.html#createCSONString-instance"},{"t":".parseJSONString","h":"CSON","p":"classes/CSON.html#parseJSONString-instance"},{"t":".parseCSONString","h":"CSON","p":"classes/CSON.html#parseCSONString-instance"},{"t":".parseJSString","h":"CSON","p":"classes/CSON.html#parseJSString-instance"},{"t":".parseCSString","h":"CSON","p":"classes/CSON.html#parseCSString-instance"},{"t":".parseJSONFile","h":"CSON","p":"classes/CSON.html#parseJSONFile-instance"},{"t":".parseCSONFile","h":"CSON","p":"classes/CSON.html#parseCSONFile-instance"},{"t":".parseJSFile","h":"CSON","p":"classes/CSON.html#parseJSFile-instance"},{"t":".parseCSFile","h":"CSON","p":"classes/CSON.html#parseCSFile-instance"},{"t":".requireJSONFile","h":"CSON","p":"classes/CSON.html#requireJSONFile-instance"},{"t":".requireCSONFile","h":"CSON","p":"classes/CSON.html#requireCSONFile-instance"},{"t":".requireJSFile","h":"CSON","p":"classes/CSON.html#requireJSFile-instance"},{"t":".requireCSFile","h":"CSON","p":"classes/CSON.html#requireCSFile-instance"},{"t":"README.md","p":"README.md.html"},{"t":"HISTORY.md","p":"HISTORY.md.html"},{"t":"LICENSE.md","p":"LICENSE.md.html"}]
window.searchData = [{"t":"CSON","p":"classes/CSON.html"},{"t":".stringify","h":"CSON","p":"classes/CSON.html#stringify-instance"},{"t":".parse","h":"CSON","p":"classes/CSON.html#parse-instance"},{"t":".load","h":"CSON","p":"classes/CSON.html#load-instance"},{"t":".createString","h":"CSON","p":"classes/CSON.html#createString-instance"},{"t":".parseString","h":"CSON","p":"classes/CSON.html#parseString-instance"},{"t":".parseFile","h":"CSON","p":"classes/CSON.html#parseFile-instance"},{"t":".requireFile","h":"CSON","p":"classes/CSON.html#requireFile-instance"},{"t":".createJSONString","h":"CSON","p":"classes/CSON.html#createJSONString-instance"},{"t":".createCSONString","h":"CSON","p":"classes/CSON.html#createCSONString-instance"},{"t":".parseJSONString","h":"CSON","p":"classes/CSON.html#parseJSONString-instance"},{"t":".parseCSONString","h":"CSON","p":"classes/CSON.html#parseCSONString-instance"},{"t":".parseJSString","h":"CSON","p":"classes/CSON.html#parseJSString-instance"},{"t":".parseCSString","h":"CSON","p":"classes/CSON.html#parseCSString-instance"},{"t":".parseJSONFile","h":"CSON","p":"classes/CSON.html#parseJSONFile-instance"},{"t":".parseCSONFile","h":"CSON","p":"classes/CSON.html#parseCSONFile-instance"},{"t":".parseJSFile","h":"CSON","p":"classes/CSON.html#parseJSFile-instance"},{"t":".parseCSFile","h":"CSON","p":"classes/CSON.html#parseCSFile-instance"},{"t":".requireJSONFile","h":"CSON","p":"classes/CSON.html#requireJSONFile-instance"},{"t":".requireCSONFile","h":"CSON","p":"classes/CSON.html#requireCSONFile-instance"},{"t":".requireJSFile","h":"CSON","p":"classes/CSON.html#requireJSFile-instance"},{"t":".requireCSFile","h":"CSON","p":"classes/CSON.html#requireCSFile-instance"},{"t":"README.md","p":"README.md.html"},{"t":"HISTORY.md","p":"HISTORY.md.html"},{"t":"LICENSE.md","p":"LICENSE.md.html"}]
# History
## v3.0.0 March 16, 2015
- Every function now also supports callbacks (2nd or 3rd argument)
- Errors will now always maintain their stacks where possible
- Simplified some aliases (b/c break)
- Changed `stringify` to now accept the arguments you would expect `stringify(data, replacer, indent)`
- Changed `parse` to delegate to `parseCSONString` instead of `parseString`
- Changed `load` to delegate to `parseCSONFile` instead of `parseFile`
- Removed `require` (it use to delegate to `requireFile`)
- Updated dependencies
## v2.0.0 February 6, 2015

@@ -4,0 +14,0 @@ - API has been rewritten to be more robust and simple

@@ -6,6 +6,12 @@

Copyright &copy; 2012+ Bevry Pty Ltd <us@bevry.me> (http://bevry.me)
<br/>Copyright &copy; 2011 Benjamin Lupton <b@lupton.cc> (http://balupton.com)
Unless stated otherwise all works are:
## The MIT License
- Copyright &copy; 2012+ Bevry Pty Ltd <us@bevry.me> (http://bevry.me)
- Copyright &copy; 2011 Benjamin Lupton <b@lupton.cc> (http://balupton.com)
and licensed under:
- The incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT License](http://opensource.org/licenses/mit-license.php)
## MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

@@ -12,0 +18,0 @@

@@ -1,4 +0,4 @@

// Generated by CoffeeScript 1.9.0
// Generated by CoffeeScript 1.9.1
(function() {
var CSON, conversion, convertSTDIN, data, filePath, fs, i, opts, outputHelp, path, stdin, timeout, timeoutFunction, useSTDIN;
var CSON, conversion, data, filePath, fs, hasData, i, opts, outputHelp, path, processData, stdin, timeout, timeoutFunction;

@@ -40,19 +40,25 @@ fs = require('fs');

data = '';
useSTDIN = true;
convertSTDIN = function() {
return process.stdout.write(conversion === 'cson2json' ? CSON.createJSONString(CSON.parseCSONString(data), opts) : CSON.createCSONString(CSON.parseJSONString(data), opts));
hasData = function() {
return data.replace(/\s+/, '').length !== 0;
};
processData = function() {
var result;
if (conversion === 'cson2json') {
result = CSON.createJSONString(CSON.parseCSONString(data), opts);
} else {
result = CSON.createCSONString(CSON.parseJSONString(data), opts);
}
return process.stdout.write(result);
};
timeoutFunction = function() {
var timeout;
timeout = null;
if (data.replace(/\s+/, '')) {
return;
if (hasData() === false) {
stdin.pause();
process.stderr.write('No STDIN data received...');
return process.exit(1);
}
useSTDIN = false;
stdin.pause();
return convertSTDIN();
};
timeout = setTimeout(timeoutFunction, 1000);
stdin = process.stdin;
stdin.resume();
stdin.setEncoding('utf8');

@@ -63,9 +69,7 @@ stdin.on('data', function(_data) {

process.stdin.on('end', function() {
if (!useSTDIN) {
return;
}
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
return convertSTDIN();
return processData();
});

@@ -72,0 +76,0 @@ } else {

@@ -1,4 +0,4 @@

// Generated by CoffeeScript 1.9.0
// Generated by CoffeeScript 1.9.1
(function() {
var CSON, fsUtil, pathUtil, requireFreshSafe;
var CSON, extractOptsAndCallback, fsUtil, pathUtil, requireFresh;

@@ -9,7 +9,30 @@ fsUtil = require('safefs');

requireFreshSafe = require('requirefresh').requireFreshSafe;
extractOptsAndCallback = require('extract-opts');
requireFresh = require('requirefresh');
CSON = (function() {
function CSON() {}
CSON.prototype.ensureErrorType = function(err) {
if (err instanceof Error) {
return err;
} else {
return this.ensureErrorType(err);
}
};
CSON.prototype.complete = function(result, next) {
if (next) {
if (result instanceof Error) {
next(result);
} else {
next(null, result);
}
return this;
} else {
return result;
}
};
CSON.prototype.getOptions = function(opts) {

@@ -61,42 +84,9 @@ if (opts == null) {

CSON.prototype.stringify = function(data, opts) {
return this.createString(data, opts);
};
CSON.prototype.parse = function(data, opts) {
return this.parseString(data, opts);
};
CSON.prototype.load = function(data, opts) {
return this.parseFile(data, opts);
};
CSON.prototype.require = function(data, opts) {
return this.requireFile(data, opts);
};
CSON.prototype.createString = function(data, opts) {
return this.action('createString', 'create', 'String', data, opts);
};
CSON.prototype.parseString = function(data, opts) {
return this.action('parseString', 'parse', 'String', data, opts);
};
CSON.prototype.parseFile = function(data, opts) {
return this.action('parseFile', 'parse', 'File', data, opts);
};
CSON.prototype.requireFile = function(data, opts) {
return this.action('requireFile', 'require', 'File', data, opts);
};
CSON.prototype.action = function(action, prefix, suffix, data, opts) {
var _ref;
CSON.prototype.action = function(args) {
var action, data, next, opts, prefix, ref, ref1, result, suffix;
action = args.action, prefix = args.prefix, suffix = args.suffix, data = args.data, opts = args.opts, next = args.next;
if (suffix == null) {
suffix = '';
}
if (opts == null) {
opts = {};
}
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
switch (action) {

@@ -110,36 +100,98 @@ case 'requireFile':

opts = this.getOptions(opts);
if ((_ref = opts.format) === null || _ref === 'cson') {
if ((ref1 = opts.format) === null || ref1 === 'cson') {
if (opts.cson === true) {
return this[prefix + 'CSON' + suffix](data, opts);
result = this[prefix + 'CSON' + suffix](data, opts);
} else {
return new Error("CSON." + action + ": Desired format is CSON however CSON is disabled by an option");
result = new Error("CSON." + action + ": Desired format is CSON however CSON is disabled by an option");
}
} else if (opts.format === 'json') {
if (opts.json === true) {
return this[prefix + 'JSON' + suffix](data, opts);
result = this[prefix + 'JSON' + suffix](data, opts);
} else {
return new Error("CSON." + action + ": Desired format is JSON however JSON is disabled by an option");
result = new Error("CSON." + action + ": Desired format is JSON however JSON is disabled by an option");
}
} else if (opts.format === 'javascript') {
if (opts.javascript === true) {
return this[prefix + 'JS' + suffix](data, opts);
result = this[prefix + 'JS' + suffix](data, opts);
} else {
return new Error("CSON." + action + ": Desired format is JavaScript however JavaScript is disabled by an option");
result = new Error("CSON." + action + ": Desired format is JavaScript however JavaScript is disabled by an option");
}
} else if (opts.format === 'coffeescript') {
if (opts.coffeescript === true) {
return this[prefix + 'CS' + suffix](data, opts);
result = this[prefix + 'CS' + suffix](data, opts);
} else {
return new Error("CSON." + action + ": Desired format is CoffeeScript however CoffeeScript is disabled by an option");
result = new Error("CSON." + action + ": Desired format is CoffeeScript however CoffeeScript is disabled by an option");
}
} else {
return new Error("CSON." + action + ": Desired format is not supported");
result = new Error("CSON." + action + ": Desired format is not supported");
}
return this.complete(result, next);
};
CSON.prototype.createJSONString = function(data, opts) {
var err;
CSON.prototype.stringify = function(data, replacer, indent) {
var opts;
opts = {};
opts.replacer = replacer;
opts.indent = indent;
return this.createCSONString(data, opts);
};
CSON.prototype.parse = function(data, opts, next) {
return this.parseCSONString(data, opts, next);
};
CSON.prototype.load = function(data, opts, next) {
return this.parseCSONFile(data, opts, next);
};
CSON.prototype.createString = function(data, opts, next) {
return this.action({
action: 'createString',
prefix: 'create',
suffix: 'String',
data: data,
opts: opts,
next: next
});
};
CSON.prototype.parseString = function(data, opts, next) {
return this.action({
action: 'parseString',
prefix: 'parse',
suffix: 'String',
data: data,
opts: opts,
next: next
});
};
CSON.prototype.parseFile = function(data, opts, next) {
return this.action({
action: 'parseFile',
prefix: 'parse',
suffix: 'File',
data: data,
opts: opts,
next: next
});
};
CSON.prototype.requireFile = function(data, opts, next) {
return this.action({
action: 'requireFile',
prefix: 'require',
suffix: 'File',
data: data,
opts: opts,
next: next
});
};
CSON.prototype.createJSONString = function(data, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
opts = this.getOptions(opts);
if (opts.visitor == null) {
opts.visitor = null;
if (opts.replacer == null) {
opts.replacer = null;
}

@@ -150,14 +202,16 @@ if (opts.indent == null) {

try {
return JSON.stringify(data, opts.visitor, opts.indent);
result = JSON.stringify(data, opts.replacer, opts.indent);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};
CSON.prototype.createCSONString = function(data, opts) {
var err;
CSON.prototype.createCSONString = function(data, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
opts = this.getOptions(opts);
if (opts.visitor == null) {
opts.visitor = null;
if (opts.replacer == null) {
opts.replacer = null;
}

@@ -168,11 +222,15 @@ if (opts.indent == null) {

try {
return require('cson-parser').stringify(data, opts.visitor, opts.indent);
result = require('cson-parser').stringify(data, opts.replacer, opts.indent);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};
CSON.prototype.createCSString = function(data, opts) {
return new Error('CSON.createCS: Creating CoffeeScript code is not yet supported');
CSON.prototype.createCSString = function(data, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = new Error('CSON.createCS: Creating CoffeeScript code is not yet supported');
return this.complete(result, next);

@@ -201,28 +259,36 @@ /*

CSON.prototype.createJSString = function(data, opts) {
return new Error('CSON.createJS: Creating JavaScript code is not yet supported');
CSON.prototype.createJSString = function(data, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = new Error('CSON.createJS: Creating JavaScript code is not yet supported');
return this.complete(result, next);
};
CSON.prototype.parseJSONString = function(data, opts) {
var err;
CSON.prototype.parseJSONString = function(data, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
try {
return JSON.parse(data);
result = JSON.parse(data);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};
CSON.prototype.parseCSONString = function(data, opts) {
var err;
CSON.prototype.parseCSONString = function(data, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
try {
return require('cson-parser').parse(data);
result = require('cson-parser').parse(data);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};
CSON.prototype.parseJSString = function(data, opts) {
var err;
CSON.prototype.parseJSString = function(data, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
opts = this.getOptions(opts);

@@ -233,11 +299,13 @@ if (opts.context == null) {

try {
return require('vm').runInNewContext(data, opts.context, opts.filename);
result = require('vm').runInNewContext(data, opts.context, opts);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};
CSON.prototype.parseCSString = function(data, opts) {
var err;
CSON.prototype.parseCSString = function(data, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
opts = this.getOptions(opts);

@@ -248,76 +316,95 @@ if (opts.sandbox == null) {

try {
return require('coffee-script')["eval"](data, opts);
result = require('coffee-script')["eval"](data, opts);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};
CSON.prototype.parseJSONFile = function(file, opts) {
var result;
CSON.prototype.parseJSONFile = function(file, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = fsUtil.readFileSync(file);
if (result instanceof Error) {
return result;
result = result;
} else {
return this.parseJSONString(result.toString(), opts);
result = this.parseJSONString(result.toString(), opts);
}
return this.complete(result, next);
};
CSON.prototype.parseCSONFile = function(file, opts) {
var result;
CSON.prototype.parseCSONFile = function(file, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = fsUtil.readFileSync(file);
if (result instanceof Error) {
return result;
result = result;
} else {
return this.parseCSONString(result.toString(), opts);
result = this.parseCSONString(result.toString(), opts);
}
return this.complete(result, next);
};
CSON.prototype.parseJSFile = function(file, opts) {
var result;
CSON.prototype.parseJSFile = function(file, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = fsUtil.readFileSync(file);
if (result instanceof Error) {
return result;
result = result;
} else {
return this.parseJSString(result.toString(), opts);
result = this.parseJSString(result.toString(), opts);
}
return this.complete(result, next);
};
CSON.prototype.parseCSFile = function(file, opts) {
var result;
CSON.prototype.parseCSFile = function(file, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = fsUtil.readFileSync(file);
if (result instanceof Error) {
return result;
result = result;
} else {
return this.parseCSString(result.toString(), opts);
result = this.parseCSString(result.toString(), opts);
}
return this.complete(result, next);
};
CSON.prototype.requireJSONFile = function(file, opts) {
return this.parseJSONFile(file, opts);
CSON.prototype.requireJSONFile = function(file, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = this.parseJSONFile(file, opts);
return this.complete(result, next);
};
CSON.prototype.requireCSONFile = function(file, opts) {
return this.parseCSONFile(file, opts);
CSON.prototype.requireCSONFile = function(file, opts, next) {
var ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
result = this.parseCSONFile(file, opts);
return this.complete(result, next);
};
CSON.prototype.requireJSFile = function(file, opts) {
var err;
CSON.prototype.requireJSFile = function(file, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
try {
return requireFreshSafe(file);
result = requireFresh(file);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};
CSON.prototype.requireCSFile = function(file, opts) {
var err;
CSON.prototype.requireCSFile = function(file, opts, next) {
var err, ref, result;
ref = extractOptsAndCallback(opts, next), opts = ref[0], next = ref[1];
require('coffee-script/register');
try {
return requireFreshSafe(file);
result = requireFresh(file);
} catch (_error) {
err = _error;
return new Error(err);
result = this.ensureErrorType(err);
}
return this.complete(result, next);
};

@@ -324,0 +411,0 @@

{
"title": "CSON",
"name": "cson",
"version": "2.0.0",
"version": "3.0.0",
"description": "CoffeeScript-Object-Notation Parser. Same as JSON but for CoffeeScript objects.",

@@ -61,3 +61,4 @@ "homepage": "https://github.com/bevry/cson",

"cson-parser": "^1.0.6",
"requirefresh": "^1.1.2",
"extract-opts": "^3.0.1",
"requirefresh": "^2.0.0",
"safefs": "^3.1.2"

@@ -67,6 +68,6 @@ },

"biscotto": "^2.3.1",
"chai": "~1.10.0",
"joe": "~1.6.0",
"joe-reporter-console": "~1.2.1",
"projectz": "^0.3.17",
"assert-helpers": "^1.0.1",
"joe": "^1.6.0",
"joe-reporter-console": "^1.2.1",
"projectz": "^0.5.0",
"safeps": "^2.2.12"

@@ -89,2 +90,2 @@ },

}
}
}

@@ -66,5 +66,5 @@ <!-- TITLE/ -->

``` coffeescript
# Look Ma! Comments!!!
# Comments!!!
# Look Ma! An Array with no commas!
# An Array with no commas!
greatDocumentaries: [

@@ -76,5 +76,5 @@ 'earthlings.com'

# Look Ma! An Object without braces!
# An Object without braces!
importantFacts:
# Look Ma! Multi-Line Strings! Without Quote Escaping!
# Multi-Line Strings! Without Quote Escaping!
emissions: '''

@@ -142,4 +142,4 @@ Livestock and their byproducts account for at least 32,000 million tons of carbon dioxide (CO2) per year, or 51% of all worldwide greenhouse gas emissions.

// Create a CSON string
result = CSON.stringify(object)
// Create a CSON string from an Object
result = CSON.stringify({a:{b:'c'}})
if ( result instanceof Error ) {

@@ -152,3 +152,3 @@ console.log(result.stack)

// Parse a CSON string
result = CSON.parse(object)
result = CSON.parse("a: b: 'c'")
if ( result instanceof Error ) {

@@ -161,3 +161,3 @@ console.log(result.stack)

// Load a CSON file
result = CSON.load(filePath)
result = CSON.load('./config.cson')
if ( result instanceof Error ) {

@@ -173,4 +173,4 @@ console.log(result.stack)

json: true, // support JSON files (default is true)
coffeescript: false, // support CSON files (default is false)
javascript: false // support CSON files (default is false)
coffeescript: false, // support CoffeeScript files (default is false)
javascript: false // support JavaScript files (default is false)
})

@@ -187,4 +187,4 @@ if ( result instanceof Error ) {

json: true, // support JSON files (default is true)
coffeescript: false, // support CSON files (default is false)
javascript: false // support CSON files (default is false)
coffeescript: false, // support CoffeeScript files (default is false)
javascript: false // support JavaScript files (default is false)
})

@@ -364,9 +364,13 @@ if ( result instanceof Error ) {

Licensed under the incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT license](http://creativecommons.org/licenses/MIT/)
Unless stated otherwise all works are:
Copyright &copy; 2012+ Bevry Pty Ltd <us@bevry.me> (http://bevry.me)
<br/>Copyright &copy; 2011 Benjamin Lupton <b@lupton.cc> (http://balupton.com)
- Copyright &copy; 2012+ Bevry Pty Ltd <us@bevry.me> (http://bevry.me)
- Copyright &copy; 2011 Benjamin Lupton <b@lupton.cc> (http://balupton.com)
and licensed under:
- The incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT License](http://opensource.org/licenses/mit-license.php)
<!-- /LICENSE -->

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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