jquery-ui/tests/runner/browserstack/local.js
2024-04-09 13:31:27 -04:00

35 lines
753 B
JavaScript

import browserstackLocal from "browserstack-local";
export async function localTunnel( localIdentifier, opts = {} ) {
const tunnel = new browserstackLocal.Local();
return new Promise( ( resolve, reject ) => {
// https://www.browserstack.com/docs/local-testing/binary-params
tunnel.start(
{
"enable-logging-for-api": "",
localIdentifier,
...opts
},
async( error ) => {
if ( error || !tunnel.isRunning() ) {
return reject( error );
}
resolve( {
stop: function stopTunnel() {
return new Promise( ( resolve, reject ) => {
tunnel.stop( ( error ) => {
if ( error ) {
return reject( error );
}
resolve();
} );
} );
}
} );
}
);
} );
}