summaryrefslogtreecommitdiff
path: root/school/node_modules/graphql/jsutils/keyValMap.js.flow
diff options
context:
space:
mode:
Diffstat (limited to 'school/node_modules/graphql/jsutils/keyValMap.js.flow')
-rw-r--r--school/node_modules/graphql/jsutils/keyValMap.js.flow30
1 files changed, 0 insertions, 30 deletions
diff --git a/school/node_modules/graphql/jsutils/keyValMap.js.flow b/school/node_modules/graphql/jsutils/keyValMap.js.flow
deleted file mode 100644
index d3aa602..0000000
--- a/school/node_modules/graphql/jsutils/keyValMap.js.flow
+++ /dev/null
@@ -1,30 +0,0 @@
-// @flow strict
-import type { ObjMap } from './ObjMap';
-
-/**
- * Creates a keyed JS object from an array, given a function to produce the keys
- * and a function to produce the values from each item in the array.
- *
- * const phoneBook = [
- * { name: 'Jon', num: '555-1234' },
- * { name: 'Jenny', num: '867-5309' }
- * ]
- *
- * // { Jon: '555-1234', Jenny: '867-5309' }
- * const phonesByName = keyValMap(
- * phoneBook,
- * entry => entry.name,
- * entry => entry.num
- * )
- *
- */
-export default function keyValMap<T, V>(
- list: $ReadOnlyArray<T>,
- keyFn: (item: T) => string,
- valFn: (item: T) => V,
-): ObjMap<V> {
- return list.reduce((map, item) => {
- map[keyFn(item)] = valFn(item);
- return map;
- }, Object.create(null));
-}