/** * 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) ); }); }; }