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

jsstana

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsstana - npm Package Compare versions

Comparing version 0.0.8 to 0.0.9

test/logic.js

66

lib/jsstana.js

@@ -178,2 +178,5 @@ /**

var matchers = {
"not": notMatcher,
"or": orMatcher,
"and": andMatcher,
"var": varMatcher,

@@ -245,2 +248,64 @@ "return": returnMatcher,

/**
#### (not pattern)
Matches when `pattern` doesn't match.
*/
function notMatcher(pattern) {
assert("not", 1, arguments);
pattern = pattern || "?";
var patternMatcher = matcher(pattern);
return function (node) {
return patternMatcher(node) ? undefined : {};
};
}
/**
#### (or pattern1 pattern2...)
Matches if any pattern matches, returns first match.
*/
function orMatcher() {
var args = _.toArray(arguments);
var argsMatchers = args.map(matcher);
return function (node) {
for (var i = 0; i < argsMatchers.length; i++) {
var m = argsMatchers[i](node);
if (m) {
return m;
}
}
return undefined;
};
}
/**
#### (and pattern1 pattern2...)
Matches if all pattern matches, returns combinedMatch
*/
function andMatcher() {
var args = _.toArray(arguments);
var argsMatchers = args.map(matcher);
return function (node) {
var res = {};
for (var i = 0; i < argsMatchers.length; i++) {
var m = argsMatchers[i](node);
if (m === undefined) {
return undefined;
}
res = _.extend(res, m);
}
return res;
};
}
/**
#### (null-node)

@@ -725,2 +790,3 @@

- 0.0.9 Boolean patterns
- 0.0.8 Even more rands

@@ -727,0 +793,0 @@ - unary and update expressions

2

package.json
{
"name": "jsstana",
"description": "s-expression match patterns for Mozilla Parser AST",
"version": "0.0.8",
"version": "0.0.9",
"homepage": "https://github.com/phadej/jsstana",

@@ -6,0 +6,0 @@ "author": {

@@ -39,2 +39,14 @@ # jsstana [![Build Status](https://secure.travis-ci.org/phadej/jsstana.png?branch=master)](http://travis-ci.org/phadej/jsstana)

#### (not pattern)
Matches when `pattern` doesn't match.
#### (or pattern1 pattern2...)
Matches if any pattern matches, returns first match.
#### (and pattern1 pattern2...)
Matches if all pattern matches, returns combinedMatch
#### (null-node)

@@ -141,2 +153,3 @@

- 0.0.9 Boolean patterns
- 0.0.8 Even more rands

@@ -143,0 +156,0 @@ - unary and update expressions

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