From 3d1cd02f27518f1a04374c7c8320cd5d82ede6e9 Mon Sep 17 00:00:00 2001 From: Minteck Date: Thu, 23 Feb 2023 19:34:56 +0100 Subject: Updated 40 files, added 37 files, deleted 1103 files and renamed 3905 files (automated) --- .../node_modules/graphql/jsutils/promiseReduce.mjs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 includes/external/school/node_modules/graphql/jsutils/promiseReduce.mjs (limited to 'includes/external/school/node_modules/graphql/jsutils/promiseReduce.mjs') diff --git a/includes/external/school/node_modules/graphql/jsutils/promiseReduce.mjs b/includes/external/school/node_modules/graphql/jsutils/promiseReduce.mjs new file mode 100644 index 0000000..db99d5d --- /dev/null +++ b/includes/external/school/node_modules/graphql/jsutils/promiseReduce.mjs @@ -0,0 +1,16 @@ +import isPromise from "./isPromise.mjs"; +/** + * Similar to Array.prototype.reduce(), however the reducing callback may return + * a Promise, in which case reduction will continue after each promise resolves. + * + * If the callback does not return a Promise, then this function will also not + * return a Promise. + */ + +export default function promiseReduce(values, callback, initialValue) { + return values.reduce(function (previous, value) { + return isPromise(previous) ? previous.then(function (resolved) { + return callback(resolved, value); + }) : callback(previous, value); + }, initialValue); +} -- cgit