aboutsummaryrefslogtreecommitdiff
path: root/node_modules/fbjs/lib/keyOf.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/fbjs/lib/keyOf.js')
-rw-r--r--node_modules/fbjs/lib/keyOf.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/fbjs/lib/keyOf.js b/node_modules/fbjs/lib/keyOf.js
new file mode 100644
index 000000000..23c2881a6
--- /dev/null
+++ b/node_modules/fbjs/lib/keyOf.js
@@ -0,0 +1,34 @@
+"use strict";
+
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ */
+
+/**
+ * Allows extraction of a minified key. Let's the build system minify keys
+ * without losing the ability to dynamically use key strings as values
+ * themselves. Pass in an object with a single key/val pair and it will return
+ * you the string key of that single record. Suppose you want to grab the
+ * value for a key 'className' inside of an object. Key/val minification may
+ * have aliased that key to be 'xa12'. keyOf({className: null}) will return
+ * 'xa12' in that case. Resolve keys you want to use once at startup time, then
+ * reuse those resolutions.
+ */
+var keyOf = function keyOf(oneKeyObj) {
+ var key;
+ for (key in oneKeyObj) {
+ if (!oneKeyObj.hasOwnProperty(key)) {
+ continue;
+ }
+ return key;
+ }
+ return null;
+};
+
+module.exports = keyOf; \ No newline at end of file