chore: migrate src/Tracing to TypeScript (#5723)

This commit is contained in:
Jack Franklin 2020-04-23 12:51:48 +01:00 committed by GitHub
parent 3050196d81
commit 18238280df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 25 deletions

View File

@ -25,7 +25,7 @@ const {Dialog} = require('./Dialog');
const {EmulationManager} = require('./EmulationManager');
const {FrameManager} = require('./FrameManager');
const {Keyboard, Mouse, Touchscreen} = require('./Input');
const Tracing = require('./Tracing');
const {Tracing} = require('./Tracing');
const {helper, debugError, assert} = require('./helper');
const {Coverage} = require('./Coverage');
const {Worker: PuppeteerWorker} = require('./Worker');

View File

@ -13,25 +13,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const {helper, assert} = require('./helper');
// Used as a TypeDef
// eslint-disable-next-line no-unused-vars
const {CDPSession} = require('./Connection');
import {helper, assert} from './helper';
import {CDPSession} from './Connection';
class Tracing {
/**
* @param {!CDPSession} client
*/
constructor(client) {
interface TracingOptions {
path?: string;
screenshots?: boolean;
categories?: string[];
}
export class Tracing {
_client: CDPSession;
_recording = false;
_path = '';
constructor(client: CDPSession) {
this._client = client;
this._recording = false;
this._path = '';
}
/**
* @param {!{path?: string, screenshots?: boolean, categories?: !Array<string>}} options
*/
async start(options = {}) {
async start(options: TracingOptions = {}): Promise<void> {
assert(!this._recording, 'Cannot start recording trace while already recording trace.');
const defaultCategories = [
@ -57,12 +57,9 @@ class Tracing {
});
}
/**
* @return {!Promise<!Buffer>}
*/
async stop() {
let fulfill;
const contentPromise = new Promise(x => fulfill = x);
async stop(): Promise<Buffer> {
let fulfill: (value: Buffer) => void;
const contentPromise = new Promise<Buffer>(x => fulfill = x);
this._client.once('Tracing.tracingComplete', event => {
helper.readProtocolStream(this._client, event.stream, this._path).then(fulfill);
});
@ -71,5 +68,3 @@ class Tracing {
return contentPromise;
}
}
module.exports = Tracing;

View File

@ -38,6 +38,6 @@ module.exports = {
Target: require('./Target').Target,
TimeoutError: require('./Errors').TimeoutError,
Touchscreen: require('./Input').Touchscreen,
Tracing: require('./Tracing'),
Tracing: require('./Tracing').Tracing,
Worker: require('./Worker').Worker,
};

View File

@ -295,6 +295,10 @@ function compareDocumentations(actual, expected) {
actualName: 'Object',
expectedName: 'MouseOptions'
}],
['Method Tracing.start() options', {
actualName: 'Object',
expectedName: 'TracingOptions'
}],
]);
const expectedForSource = expectedNamingMismatches.get(source);