summaryrefslogtreecommitdiff
path: root/includes/external/signal/node_modules/asynckit/lib/state.js
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-07-17 14:08:41 +0200
committerRaindropsSys <contact@minteck.org>2023-07-17 14:08:41 +0200
commitd0da20e18bf39cd98c1a2773e3a08e8e320d6450 (patch)
tree0809782ccba92bbd76bb44a80a6d40bdaeb2f0ab /includes/external/signal/node_modules/asynckit/lib/state.js
parent5eb6a557c44462e7d9d752f3bc97a078ef205bc0 (diff)
downloadpluralconnect-d0da20e18bf39cd98c1a2773e3a08e8e320d6450.tar.gz
pluralconnect-d0da20e18bf39cd98c1a2773e3a08e8e320d6450.tar.bz2
pluralconnect-d0da20e18bf39cd98c1a2773e3a08e8e320d6450.zip
Updated includes/jobs/PKFronters.php and added 147 files (automated)
Diffstat (limited to 'includes/external/signal/node_modules/asynckit/lib/state.js')
-rw-r--r--includes/external/signal/node_modules/asynckit/lib/state.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/includes/external/signal/node_modules/asynckit/lib/state.js b/includes/external/signal/node_modules/asynckit/lib/state.js
new file mode 100644
index 0000000..cbea7ad
--- /dev/null
+++ b/includes/external/signal/node_modules/asynckit/lib/state.js
@@ -0,0 +1,37 @@
+// API
+module.exports = state;
+
+/**
+ * Creates initial state object
+ * for iteration over list
+ *
+ * @param {array|object} list - list to iterate over
+ * @param {function|null} sortMethod - function to use for keys sort,
+ * or `null` to keep them as is
+ * @returns {object} - initial state object
+ */
+function state(list, sortMethod)
+{
+ var isNamedList = !Array.isArray(list)
+ , initState =
+ {
+ index : 0,
+ keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
+ jobs : {},
+ results : isNamedList ? {} : [],
+ size : isNamedList ? Object.keys(list).length : list.length
+ }
+ ;
+
+ if (sortMethod)
+ {
+ // sort array keys based on it's values
+ // sort object's keys just on own merit
+ initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)
+ {
+ return sortMethod(list[a], list[b]);
+ });
+ }
+
+ return initState;
+}