UNPKG

@docusaurus/utils

Version:

Node utility functions for Docusaurus packages.

42 lines 1.48 kB
"use strict"; /** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.mapAsyncSequential = mapAsyncSequential; exports.findAsyncSequential = findAsyncSequential; /** * `Array#map` for async operations where order matters. * @param array The array to traverse. * @param action An async action to be performed on every array item. Will be * awaited before working on the next. * @returns The list of results returned from every `action(item)` */ async function mapAsyncSequential(array, action) { const results = []; for (const t of array) { const result = await action(t); results.push(result); } return results; } /** * `Array#find` for async operations where order matters. * @param array The array to traverse. * @param predicate An async predicate to be called on every array item. Should * return a boolean indicating whether the currently element should be returned. * @returns The function immediately returns the first item on which `predicate` * returns `true`, or `undefined` if none matches the predicate. */ async function findAsyncSequential(array, predicate) { for (const t of array) { if (await predicate(t)) { return t; } } return undefined; } //# sourceMappingURL=jsUtils.js.map