testing js app
Node.js CI Test / build (12.x) (pull_request) Failing after 6s
Node.js CI Test / build (14.x) (pull_request) Failing after 6s
Node.js CI Test / build (16.x) (pull_request) Successful in 10s

This commit is contained in:
Mark
2026-05-19 22:10:51 -07:00
parent 789e48e01e
commit 96ccf86f5c
5266 changed files with 514154 additions and 2 deletions
+37
View File
@@ -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;
}