feat(rpc): migrate DeviceDescriptors payload to an array (#2981)
Currently it is an object with arbitrary keys - that makes it hard to have a protocol definition.
This commit is contained in:
parent
4c8ba3ed67
commit
439e048a4c
|
|
@ -29,7 +29,7 @@ export type PlaywrightInitializer = {
|
||||||
firefox: BrowserTypeChannel,
|
firefox: BrowserTypeChannel,
|
||||||
webkit: BrowserTypeChannel,
|
webkit: BrowserTypeChannel,
|
||||||
electron?: ElectronChannel,
|
electron?: ElectronChannel,
|
||||||
deviceDescriptors: types.Devices,
|
deviceDescriptors: { name: string, descriptor: types.DeviceDescriptor }[],
|
||||||
selectors: SelectorsChannel,
|
selectors: SelectorsChannel,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,9 @@ export class Playwright extends ChannelOwner<PlaywrightChannel, PlaywrightInitia
|
||||||
this.webkit = BrowserType.from(initializer.webkit);
|
this.webkit = BrowserType.from(initializer.webkit);
|
||||||
if (initializer.electron)
|
if (initializer.electron)
|
||||||
(this as any).electron = Electron.from(initializer.electron);
|
(this as any).electron = Electron.from(initializer.electron);
|
||||||
this.devices = initializer.deviceDescriptors;
|
this.devices = {};
|
||||||
|
for (const { name, descriptor } of initializer.deviceDescriptors)
|
||||||
|
this.devices[name] = descriptor;
|
||||||
this.selectors = Selectors.from(initializer.selectors);
|
this.selectors = Selectors.from(initializer.selectors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,14 @@ import { ElectronDispatcher } from './electronDispatcher';
|
||||||
export class PlaywrightDispatcher extends Dispatcher<Playwright, PlaywrightInitializer> implements PlaywrightChannel {
|
export class PlaywrightDispatcher extends Dispatcher<Playwright, PlaywrightInitializer> implements PlaywrightChannel {
|
||||||
constructor(scope: DispatcherScope, playwright: Playwright) {
|
constructor(scope: DispatcherScope, playwright: Playwright) {
|
||||||
const electron = (playwright as any).electron as (Electron | undefined);
|
const electron = (playwright as any).electron as (Electron | undefined);
|
||||||
|
const deviceDescriptors = Object.entries(playwright.devices)
|
||||||
|
.map(([name, descriptor]) => ({ name, descriptor }));
|
||||||
super(scope, playwright, 'playwright', {
|
super(scope, playwright, 'playwright', {
|
||||||
chromium: new BrowserTypeDispatcher(scope, playwright.chromium!),
|
chromium: new BrowserTypeDispatcher(scope, playwright.chromium!),
|
||||||
firefox: new BrowserTypeDispatcher(scope, playwright.firefox!),
|
firefox: new BrowserTypeDispatcher(scope, playwright.firefox!),
|
||||||
webkit: new BrowserTypeDispatcher(scope, playwright.webkit!),
|
webkit: new BrowserTypeDispatcher(scope, playwright.webkit!),
|
||||||
electron: electron ? new ElectronDispatcher(scope, electron) : undefined,
|
electron: electron ? new ElectronDispatcher(scope, electron) : undefined,
|
||||||
deviceDescriptors: playwright.devices,
|
deviceDescriptors,
|
||||||
selectors: new SelectorsDispatcher(scope, playwright.selectors),
|
selectors: new SelectorsDispatcher(scope, playwright.selectors),
|
||||||
}, false, 'playwright');
|
}, false, 'playwright');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue