Comparing version 4.1.5 to 4.1.7
{ | ||
"name": "jssm", | ||
"version": "4.1.5", | ||
"version": "4.1.7", | ||
"engines": { | ||
@@ -91,3 +91,3 @@ "node": ">=6.0.0" | ||
"eslint": "^4.3.0", | ||
"eslint-config-stonecypher": "^1.12.3", | ||
"eslint-config-stonecypher": "^1.13.1", | ||
"eslint-plugin-ava": "^4.2.1", | ||
@@ -94,0 +94,0 @@ "eslint-plugin-flowtype": "^2.35.0", |
@@ -26,3 +26,3 @@ | ||
const new_acc = acc.concat({ from, to }); | ||
const new_acc : Array<mixed> = acc.concat({ from, to }); // todo whargarbl can do better than array mixed | ||
@@ -59,3 +59,3 @@ if (se) { | ||
tree.map( (tr) => { | ||
tree.map( tr => { | ||
const { agg_as, val } = compile_rule_handler(tr); | ||
@@ -532,3 +532,12 @@ results[agg_as] = (results[agg_as] || []).concat(val); | ||
return new Machine(compile(parse(template_strings.reduce( | ||
// in general avoiding `arguments` is smart. however with the template | ||
// string notation, as designed, it's not really worth the hassle | ||
/* eslint-disable fp/no-arguments */ | ||
/* eslint-disable prefer-rest-params */ | ||
(acc, val, idx) => `${acc}${arguments[idx]}${val}` // arguments[0] is never loaded, so args doesn't need to be gated | ||
/* eslint-enable prefer-rest-params */ | ||
/* eslint-enable fp/no-arguments */ | ||
)))); | ||
@@ -535,0 +544,0 @@ |
/* eslint-disable max-len */ | ||
import {test, describe} from 'ava-spec'; | ||
import {describe} from 'ava-spec'; | ||
@@ -38,3 +38,3 @@ const jssm = require('../../../build/jssm.es5.js'); | ||
describe('unknown rule', async it => { | ||
it('throws', t => t.throws( () => { jssm.compile( [{"key":"FAKE_RULE","from":"a","se":{"kind":"->","to":"b"}}] ); } )) | ||
it('throws', t => t.throws( () => { jssm.compile( [{"key":"FAKE_RULE","from":"a","se":{"kind":"->","to":"b"}}] ); } )); | ||
}); | ||
@@ -41,0 +41,0 @@ |
@@ -16,11 +16,11 @@ | ||
describe('simple sm`a->b;`', async it => { | ||
it('doesn\'t throw', t => t.notThrows(() => { const foo = sm`a -> b;`; }) ); | ||
it('doesn\'t throw', t => t.notThrows(() => { const _foo = sm`a -> b;`; }) ); | ||
}); | ||
describe('long and chain sm`a->b;c->d;e->f->g;h->i;`', async it => { | ||
it('doesn\'t throw', t => t.notThrows(() => { const foo = sm`a->b;c->d;e->f->g;h->i;`; }) ); | ||
it('doesn\'t throw', t => t.notThrows(() => { const _foo = sm`a->b;c->d;e->f->g;h->i;`; }) ); | ||
}); | ||
describe('template tags`', async it => { | ||
it('doesn\'t throw', t => t.notThrows(() => { const bar = 'c->d', baz = 'b->h->i;f->h', foo = sm`a->b;${bar};e->f->g;${baz};`; }) ); | ||
it('doesn\'t throw', t => t.notThrows(() => { const bar = 'c->d', baz = 'b->h->i;f->h', _foo = sm`a->b;${bar};e->f->g;${baz};`; }) ); | ||
}); | ||
@@ -27,0 +27,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1908041
7079