File Explorer

/var/lang/lib/node_modules/npm/node_modules/promise-retry

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

0 dirs
3 files
index.js1.3 KB · 53 lines
'use strict'; var errcode = require('err-code');var retry = require('retry'); var hasOwn = Object.prototype.hasOwnProperty; function isRetryError(err) {    return err && err.code === 'EPROMISERETRY' && hasOwn.call(err, 'retried');} function promiseRetry(fn, options) {    var temp;    var operation;     if (typeof fn === 'object' && typeof options === 'function') {        // Swap options and fn when using alternate signature (options, fn)        temp = options;        options = fn;        fn = temp;    }     operation = retry.operation(options);     return new Promise(function (resolve, reject) {        operation.attempt(function (number) {            Promise.resolve()            .then(function () {                return fn(function (err) {                    if (isRetryError(err)) {                        err = err.retried;                    }                     throw errcode(new Error('Retrying'), 'EPROMISERETRY', { retried: err });                }, number);            })            .then(resolve, function (err) {                if (isRetryError(err)) {                    err = err.retried;                     if (operation.retry(err || new Error())) {                        return;                    }                }                 reject(err);            });        });    });} module.exports = promiseRetry;