Skip to content

Commit befcdd4

Browse files
authored
Merge pull request #326 from taymoork2/rambda
Support Node 18 + switch from ramda to rambda
2 parents ef9048c + 4d19499 commit befcdd4

File tree

11 files changed

+64
-48
lines changed

11 files changed

+64
-48
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-latest
88
strategy:
99
matrix:
10-
node: [14, 16]
10+
node: [14, 16, 18]
1111
name: Node ${{ matrix.node }}
1212
steps:
1313
- uses: actions/checkout@v2

benchmarks/measure.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
const os = require('os');
44
const { performance: performanceHooks } = require('perf_hooks');
5-
const times = require('ramda/src/times');
6-
const median = require('ramda/src/median');
7-
const map = require('ramda/src/map');
8-
const prop = require('ramda/src/prop');
5+
const { times, median, map, prop } = require('rambda');
96
const semver = require('semver');
107

118
const [ { speed: cpuSpeed } ] = os.cpus();

benchmarks/runtime.bench.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
const { expect } = require('chai');
44
const { Linter } = require('eslint');
5-
const times = require('ramda/src/times');
6-
const toPairs = require('ramda/src/toPairs');
7-
const fromPairs = require('ramda/src/fromPairs');
5+
const { times, toPairs, fromPairs } = require('rambda');
86
const {
97
runBenchmark,
108
cpuSpeed,

lib/rules/handle-done-callback.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
const find = require('ramda/src/find');
3+
const { find } = require('rambda');
44
const createAstUtils = require('../util/ast');
55

66
module.exports = {

lib/rules/max-top-level-suites.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* @author Alexander Afanasyev
66
*/
77

8-
const isNil = require('ramda/src/isNil');
8+
const { isNil } = require('rambda');
99
const createAstUtils = require('../util/ast');
1010

1111
const defaultSuiteLimit = 1;

lib/rules/no-synchronous-tests.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
'use strict';
22

3-
const isNil = require('ramda/src/isNil');
4-
const find = require('ramda/src/find');
3+
const { isNil, find } = require('rambda');
54
const createAstUtils = require('../util/ast');
65

76
const asyncMethods = [ 'async', 'callback', 'promise' ];

lib/util/ast.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
'use strict';
22

3-
const complement = require('ramda/src/complement');
4-
const both = require('ramda/src/both');
5-
const isNil = require('ramda/src/isNil');
6-
const propEq = require('ramda/src/propEq');
7-
const pathEq = require('ramda/src/pathEq');
8-
const find = require('ramda/src/find');
3+
const { complement, both, isNil, propEq, pathEq, find } = require('rambda');
94
const { getTestCaseNames, getSuiteNames } = require('./names');
105
const { getAddtionalNames } = require('./settings');
116

lib/util/memoizeWith.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/* eslint-disable prefer-rest-params */
2+
'use strict';
3+
4+
/** Memoize a function using a custom cache and a key formatter
5+
*
6+
* (rambda does not include a memoizeWith function)
7+
*
8+
* @param {Function} keyGen The function to generate the cache key.
9+
* @param {Function} fn The function to memoize.
10+
* @return {Function} Memoized version of `fn`.
11+
*/
12+
const memoizeWith = (keyGen, fn) => {
13+
const cache = new Map();
14+
15+
return function () {
16+
const key = keyGen(arguments);
17+
18+
if (!cache.has(key)) {
19+
cache.set(key, fn.apply(this, arguments));
20+
}
21+
22+
return cache.get(key);
23+
};
24+
};
25+
26+
module.exports = {
27+
memoizeWith
28+
};

lib/util/names.js

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
'use strict';
22

3-
const where = require('ramda/src/where');
4-
const includes = require('ramda/src/includes');
5-
const intersection = require('ramda/src/intersection');
6-
const pipe = require('ramda/src/pipe');
7-
const isEmpty = require('ramda/src/isEmpty');
8-
const complement = require('ramda/src/complement');
9-
const flip = require('ramda/src/flip');
10-
const filter = require('ramda/src/filter');
11-
const over = require('ramda/src/over');
12-
const lensProp = require('ramda/src/lensProp');
13-
const map = require('ramda/src/map');
14-
const view = require('ramda/src/view');
15-
const assoc = require('ramda/src/assoc');
16-
const allPass = require('ramda/src/allPass');
17-
const memoizeWith = require('ramda/src/memoizeWith');
3+
const {
4+
where,
5+
includes,
6+
intersection,
7+
pipe,
8+
isEmpty,
9+
complement,
10+
flip,
11+
filter,
12+
over,
13+
lensProp,
14+
map,
15+
view,
16+
assoc,
17+
allPass
18+
} = require('rambda');
19+
const { memoizeWith } = require('./memoizeWith');
1820

1921
const INTERFACES = {
2022
BDD: 'BDD',
@@ -130,3 +132,4 @@ module.exports = {
130132
getTestCaseNames,
131133
getSuiteNames
132134
};
135+

package-lock.json

Lines changed: 10 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)