/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
export default function (P = Promise, timeout = setTimeout) {
// var interval;
return function (milliseconds, cb = function () {}) {
// clearInterval(interval);
// const cb = typeof _cb !== 'function' ? (i) => { clearInterval(interval);interval = i; } : _cb;
return new P((resolve, reject) => {
cb(
timeout(function () {
resolve(milliseconds);
}, milliseconds)
);
});
};
}