summaryrefslogtreecommitdiff
path: root/alarm/node_modules/graphql/jsutils/mapValue.js.flow
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/graphql/jsutils/mapValue.js.flow')
-rw-r--r--alarm/node_modules/graphql/jsutils/mapValue.js.flow20
1 files changed, 20 insertions, 0 deletions
diff --git a/alarm/node_modules/graphql/jsutils/mapValue.js.flow b/alarm/node_modules/graphql/jsutils/mapValue.js.flow
new file mode 100644
index 0000000..d6b5da4
--- /dev/null
+++ b/alarm/node_modules/graphql/jsutils/mapValue.js.flow
@@ -0,0 +1,20 @@
+// @flow strict
+import objectEntries from '../polyfills/objectEntries';
+
+import type { ObjMap } from './ObjMap';
+
+/**
+ * Creates an object map with the same keys as `map` and values generated by
+ * running each value of `map` thru `fn`.
+ */
+export default function mapValue<T, V>(
+ map: ObjMap<T>,
+ fn: (value: T, key: string) => V,
+): ObjMap<V> {
+ const result = Object.create(null);
+
+ for (const [key, value] of objectEntries(map)) {
+ result[key] = fn(value, key);
+ }
+ return result;
+}