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

regenerator

Package Overview
Dependencies
Maintainers
1
Versions
149
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

regenerator - npm Package Compare versions

Comparing version 0.4.4 to 0.4.5

2

lib/emit.js

@@ -12,3 +12,3 @@ /**

var assert = require("assert");
var types = require("ast-types");
var types = require("recast").types;
var isArray = types.builtInTypes.array;

@@ -15,0 +15,0 @@ var b = types.builders;

@@ -12,3 +12,3 @@ /**

var assert = require("assert");
var types = require("ast-types");
var types = require("recast").types;
var n = types.namedTypes;

@@ -15,0 +15,0 @@ var b = types.builders;

@@ -12,3 +12,3 @@ /**

var assert = require("assert");
var types = require("ast-types");
var types = require("recast").types;
var n = types.namedTypes;

@@ -15,0 +15,0 @@ var b = types.builders;

@@ -13,3 +13,3 @@ /**

var m = require("private").makeAccessor();
var types = require("ast-types");
var types = require("recast").types;
var isArray = types.builtInTypes.array;

@@ -16,0 +16,0 @@ var n = types.namedTypes;

@@ -12,3 +12,3 @@ /**

var assert = require("assert");
var types = require("ast-types");
var types = require("recast").types;
var n = types.namedTypes;

@@ -15,0 +15,0 @@ var b = types.builders;

@@ -18,16 +18,7 @@ /**

var types = recast.types;
var esprimaHarmony = require("esprima");
var genFunExp = /\bfunction\s*\*/;
var blockBindingExp = /\b(let|const)\s+/;
assert.ok(
/harmony/.test(esprimaHarmony.version),
"Bad esprima version: " + esprimaHarmony.version
);
function regenerator(source, options) {
options = utils.defaults(options || {}, {
includeRuntime: false,
supportBlockBinding: true
});
options = normalizeOptions(options);

@@ -42,3 +33,5 @@ var runtime = options.includeRuntime ? fs.readFileSync(

var path = parse(source);
var recastOptions = getRecastOptions(options);
var ast = recast.parse(source, recastOptions);
var path = new types.NodePath(ast);
var programPath = path.get("program");

@@ -55,16 +48,41 @@

return recast.print(path).code;
return recast.print(path, recastOptions).code;
}
function parse(source) {
types.builtInTypes.string.assert(source);
function normalizeOptions(options) {
options = utils.defaults(options || {}, {
includeRuntime: false,
supportBlockBinding: true
});
var ast = recast.parse(source, {
// Use the harmony branch of Esprima that installs with regenerator
// instead of the master branch that recast provides.
esprima: esprimaHarmony,
if (!options.esprima) {
options.esprima = require("esprima");
}
assert.ok(
/harmony/.test(options.esprima.version),
"Bad esprima version: " + options.esprima.version
);
return options;
}
function getRecastOptions(options) {
var recastOptions = {
range: true
});
};
return new types.NodePath(ast);
function copy(name) {
if (name in options) {
recastOptions[name] = options[name];
}
}
copy("esprima");
copy("sourceFileName");
copy("sourceMapName");
copy("inputSourceMap");
copy("sourceRoot");
return recastOptions;
}

@@ -83,6 +101,7 @@

function varify(source) {
var path = parse(source);
varifyAst(path.get("program").node);
return recast.print(path).code;
function varify(source, options) {
var recastOptions = getRecastOptions(normalizeOptions(options));
var ast = recast.parse(source, recastOptions);
varifyAst(ast.program);
return recast.print(ast, recastOptions).code;
}

@@ -89,0 +108,0 @@

@@ -19,3 +19,3 @@ {

],
"version": "0.4.4",
"version": "0.4.5",
"homepage": "http://github.com/facebook/regenerator",

@@ -34,5 +34,4 @@ "repository": {

"esprima": "git://github.com/ariya/esprima.git#harmony",
"ast-types": "^0.3.20",
"recast": "^0.5.11",
"private": "^0.1.2",
"recast": "~0.5.13",
"private": "~0.1.2",
"defs": "~0.6.2"

@@ -39,0 +38,0 @@ },

@@ -853,2 +853,20 @@ /**

});
it("should work for nested generator function declarations", function() {
function *outer(n) {
yield 0;
assert.ok(wrapGenerator.isGeneratorFunction(inner));
return yield* inner(n);
// Note that this function declaration comes after everything else
// in the outer function, but needs to be fully available above.
function *inner(n) {
yield n - 1;
yield n;
return yield n + 1;
}
}
check(outer(2), [0, 1, 2, 3], 4);
});
});

@@ -855,0 +873,0 @@

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