Skip to content

Commit 5ba1b3a

Browse files
authored
Merge pull request #872 from bmish/rename-flatten-util
Rename `flatten` util to `flat`
2 parents add6f0e + 862e45a commit 5ba1b3a

File tree

5 files changed

+17
-15
lines changed

5 files changed

+17
-15
lines changed

lib/rules/no-duplicate-dependent-keys.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ module.exports = {
4343
return null;
4444
}
4545

46-
return javascriptUtils.flatten(
46+
return javascriptUtils.flat(
4747
duplicateNodes.map((duplicateNode) =>
4848
fixerUtils.removeCommaSeparatedNode(duplicateNode, sourceCode, fixer)
4949
)

lib/utils/javascript.js

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

33
module.exports = {
44
duplicateArrays,
5-
flatten,
5+
flat,
66
flatMap,
77
removeWhitespace,
88
};
@@ -24,13 +24,14 @@ function duplicateArrays(arr, times) {
2424
/**
2525
* Flattens an array.
2626
* WARNING: can only handle one level of nested arrays.
27+
* TODO: switch to native JavaScript `flat` once Node 12 is the minimum version we need to support.
2728
* Input: [[1], [2]]
2829
* Output: [1, 2]
2930
*
3031
* @param {Object[]} arr Array to flatten.
3132
* @return {Object[]} Flattened array.
3233
*/
33-
function flatten(arr) {
34+
function flat(arr) {
3435
if (!arr || arr.length === 0) {
3536
return arr;
3637
}
@@ -40,6 +41,7 @@ function flatten(arr) {
4041

4142
/**
4243
* Builds an array by concatenating the results of a map.
44+
* TODO: switch to native JavaScript `flatMap` once Node 12 is the minimum version we need to support.
4345
*
4446
* @template T, U
4547
* @param {Array<T>} array

tests/lib/rules/no-invalid-debug-function-arguments.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const VALID_USAGES_BASIC = [
2121
},
2222
];
2323

24-
const VALID_USAGES_FOR_EACH_DEBUG_FUNCTION = javascriptUtils.flatten(
24+
const VALID_USAGES_FOR_EACH_DEBUG_FUNCTION = javascriptUtils.flat(
2525
DEBUG_FUNCTIONS.map((debugFunction) => [
2626
{
2727
code: `import { ${debugFunction} } from '@ember/debug'; OtherClass.${debugFunction}(true, 'My string.');`,
@@ -78,7 +78,7 @@ const VALID_USAGES_FOR_EACH_DEBUG_FUNCTION = javascriptUtils.flatten(
7878

7979
const VALID_USAGES = [...VALID_USAGES_BASIC, ...VALID_USAGES_FOR_EACH_DEBUG_FUNCTION];
8080

81-
const INVALID_USAGES = javascriptUtils.flatten(
81+
const INVALID_USAGES = javascriptUtils.flat(
8282
DEBUG_FUNCTIONS.map((debugFunction) => [
8383
{
8484
code: `import { ${debugFunction} } from '@ember/debug'; ${debugFunction}(true, 'My description.');`,

tests/lib/utils/javascript-test.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,20 @@ describe('duplicateArrays', () => {
1717
});
1818
});
1919

20-
describe('flatten', function () {
20+
describe('flat', function () {
2121
it('correctly flattens arrays', function () {
22-
expect(javascriptUtils.flatten([])).toStrictEqual([]);
23-
expect(javascriptUtils.flatten(null)).toBeNull();
24-
expect(javascriptUtils.flatten([[1], [2]])).toStrictEqual([1, 2]);
22+
expect(javascriptUtils.flat([])).toStrictEqual([]);
23+
expect(javascriptUtils.flat(null)).toBeNull();
24+
expect(javascriptUtils.flat([[1], [2]])).toStrictEqual([1, 2]);
2525
expect(
26-
javascriptUtils.flatten([
26+
javascriptUtils.flat([
2727
[1, 2],
2828
[3, 4],
2929
])
3030
).toStrictEqual([1, 2, 3, 4]);
31-
expect(javascriptUtils.flatten([[1], [2, 3], [4, 5, 6]])).toStrictEqual([1, 2, 3, 4, 5, 6]); // different lengths forward
32-
expect(javascriptUtils.flatten([[6, 5, 4], [3, 2], [1]])).toStrictEqual([6, 5, 4, 3, 2, 1]); // different lengths reverse
33-
expect(javascriptUtils.flatten([[1], null, [2]])).toStrictEqual([1, null, 2]); // with null array
31+
expect(javascriptUtils.flat([[1], [2, 3], [4, 5, 6]])).toStrictEqual([1, 2, 3, 4, 5, 6]); // different lengths forward
32+
expect(javascriptUtils.flat([[6, 5, 4], [3, 2], [1]])).toStrictEqual([6, 5, 4, 3, 2, 1]); // different lengths reverse
33+
expect(javascriptUtils.flat([[1], null, [2]])).toStrictEqual([1, null, 2]); // with null array
3434
});
3535
});
3636

tests/rule-setup.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const { join } = require('path');
55
const rules = require('../lib').rules;
66
const recommendedRules = require('../lib/recommended-rules.js');
77
const octaneRules = require('../lib/octane-rules.js');
8-
const { flatten } = require('../lib/utils/javascript');
8+
const { flat } = require('../lib/utils/javascript');
99

1010
const RULE_NAMES = Object.keys(rules);
1111
const RECOMMENDED_RULE_NAMES = Object.keys(recommendedRules).map((name) =>
@@ -19,7 +19,7 @@ function getAllNamedOptions(jsonSchema) {
1919
}
2020

2121
if (Array.isArray(jsonSchema)) {
22-
return flatten(jsonSchema.map(getAllNamedOptions));
22+
return flat(jsonSchema.map(getAllNamedOptions));
2323
}
2424

2525
if (jsonSchema.items) {

0 commit comments

Comments
 (0)