aboutsummaryrefslogtreecommitdiff
path: root/node_modules/fbjs/lib/emptyFunction.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/fbjs/lib/emptyFunction.js')
-rw-r--r--node_modules/fbjs/lib/emptyFunction.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/fbjs/lib/emptyFunction.js b/node_modules/fbjs/lib/emptyFunction.js
new file mode 100644
index 000000000..9f06dc060
--- /dev/null
+++ b/node_modules/fbjs/lib/emptyFunction.js
@@ -0,0 +1,38 @@
+"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.
+ *
+ *
+ */
+
+function makeEmptyFunction(arg) {
+ return function () {
+ return arg;
+ };
+}
+
+/**
+ * This function accepts and discards inputs; it has no side effects. This is
+ * primarily useful idiomatically for overridable function endpoints which
+ * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
+ */
+var emptyFunction = function emptyFunction() {};
+
+emptyFunction.thatReturns = makeEmptyFunction;
+emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
+emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
+emptyFunction.thatReturnsNull = makeEmptyFunction(null);
+emptyFunction.thatReturnsThis = function () {
+ return this;
+};
+emptyFunction.thatReturnsArgument = function (arg) {
+ return arg;
+};
+
+module.exports = emptyFunction; \ No newline at end of file