Skip to content

Commit 83b0f6b

Browse files
💥 refactor!: Use camelCase naming and document all exports.
BREAKING CHANGE: This breaks dependents relying on the renamed exports.
1 parent 6b6cffa commit 83b0f6b

File tree

9 files changed

+51
-29
lines changed

9 files changed

+51
-29
lines changed

src/fromKeys.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* Creates a mapping from a sequences of keys and a single value. All keys are
3+
* mapped to that single value.
4+
*
5+
* @param {Iterable} keys
6+
* @param {any} value
7+
* @return {IterableIterator} The output mapping.
8+
*/
9+
export default function* fromKeys(keys, value) {
10+
for (const key of keys) yield [key, value];
11+
}

src/fromkeys.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
export {default as fromkeys} from './fromkeys.js';
2-
export {default as object} from './object.js';
1+
export {default as fromKeys} from './fromKeys.js';
32
export {default as reflect} from './reflect.js';
3+
export {default as toObject} from './toObject.js';

src/object.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/reflect.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
/**
2+
* Swap keys and values of a mapping.
3+
*
4+
* @param {Iterable} mapping The input mapping.
5+
* @return {IterableIterator} A new mapping with input keys and values swapped.
6+
*/
17
export default function* reflect(mapping) {
28
for (const [key, value] of mapping) yield [value, key];
39
}

src/toObject.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* Instantiate an object from a mapping.
3+
*
4+
* @deprecated Use Object.fromEntries(mapping) directly.
5+
*
6+
* @param {Iterable} mapping The input mapping.
7+
* @return {Object} The output object.
8+
*/
9+
const toObject = (mapping) => Object.fromEntries(mapping);
10+
export default toObject;

test/src/fromKeys.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import test from 'ava';
2+
3+
import {fromKeys} from '../../src/index.js';
4+
5+
test('fromKeys', (t) => {
6+
t.deepEqual([...fromKeys('', 1)], []);
7+
8+
t.deepEqual(
9+
[...fromKeys('abcde', 1)],
10+
[
11+
['a', 1],
12+
['b', 1],
13+
['c', 1],
14+
['d', 1],
15+
['e', 1],
16+
],
17+
);
18+
});

test/src/fromkeys.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

test/src/object.js renamed to test/src/toObject.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import test from 'ava';
22

3-
import {object} from '../../src/index.js';
3+
import {toObject} from '../../src/index.js';
44

5-
test('object', (t) => {
6-
t.deepEqual(object([]), {});
5+
test('toObject', (t) => {
6+
t.deepEqual(toObject([]), {});
77

88
t.deepEqual(
9-
object([
9+
toObject([
1010
['a', 0],
1111
['b', 1],
1212
['c', 2],

0 commit comments

Comments
 (0)