chore: simplify doclint (#3162)

This renames CRBrowserContext events into ChromiumBrowserContext and
simplifies some doclint/coverage logic.
This commit is contained in:
Dmitry Gozman 2020-07-24 20:40:21 -07:00 committed by GitHub
parent fd2e65b73c
commit 98cc9db8e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 13 additions and 29 deletions

View File

@ -145,7 +145,7 @@ export class CRBrowser extends BrowserBase {
const backgroundPage = new CRPage(session, targetInfo.targetId, context, null, false);
this._backgroundPages.set(targetInfo.targetId, backgroundPage);
backgroundPage.pageOrError().then(() => {
context!.emit(Events.CRBrowserContext.BackgroundPage, backgroundPage._page);
context!.emit(Events.ChromiumBrowserContext.BackgroundPage, backgroundPage._page);
});
return;
}
@ -172,7 +172,7 @@ export class CRBrowser extends BrowserBase {
if (targetInfo.type === 'service_worker') {
const serviceWorker = new CRServiceWorker(context, session, targetInfo.url);
this._serviceWorkers.set(targetInfo.targetId, serviceWorker);
context.emit(Events.CRBrowserContext.ServiceWorker, serviceWorker);
context.emit(Events.ChromiumBrowserContext.ServiceWorker, serviceWorker);
return;
}

View File

@ -16,7 +16,7 @@
*/
export const Events = {
CRBrowserContext: {
ChromiumBrowserContext: {
BackgroundPage: 'backgroundpage',
ServiceWorker: 'serviceworker',
}

View File

@ -32,13 +32,13 @@ export class ChromiumBrowserContext extends BrowserContext {
this._channel.on('crBackgroundPage', ({ page }) => {
const backgroundPage = Page.from(page);
this._backgroundPages.add(backgroundPage);
this.emit(ChromiumEvents.CRBrowserContext.BackgroundPage, backgroundPage);
this.emit(ChromiumEvents.ChromiumBrowserContext.BackgroundPage, backgroundPage);
});
this._channel.on('crServiceWorker', ({worker}) => {
const serviceWorker = Worker.from(worker);
serviceWorker._context = this;
this._serviceWorkers.add(serviceWorker);
this.emit(ChromiumEvents.CRBrowserContext.ServiceWorker, serviceWorker);
this.emit(ChromiumEvents.ChromiumBrowserContext.ServiceWorker, serviceWorker);
});
}

View File

@ -44,10 +44,10 @@ export class BrowserContextDispatcher extends Dispatcher<BrowserContext, Browser
if (context._browserBase._options.name === 'chromium') {
for (const page of (context as CRBrowserContext).backgroundPages())
this._dispatchEvent('crBackgroundPage', { page: new PageDispatcher(this._scope, page) });
context.on(ChromiumEvents.CRBrowserContext.BackgroundPage, page => this._dispatchEvent('crBackgroundPage', { page: new PageDispatcher(this._scope, page) }));
context.on(ChromiumEvents.ChromiumBrowserContext.BackgroundPage, page => this._dispatchEvent('crBackgroundPage', { page: new PageDispatcher(this._scope, page) }));
for (const serviceWorker of (context as CRBrowserContext).serviceWorkers())
this._dispatchEvent('crServiceWorker', new WorkerDispatcher(this._scope, serviceWorker));
context.on(ChromiumEvents.CRBrowserContext.ServiceWorker, serviceWorker => this._dispatchEvent('crServiceWorker', { worker: new WorkerDispatcher(this._scope, serviceWorker) }));
context.on(ChromiumEvents.ChromiumBrowserContext.ServiceWorker, serviceWorker => this._dispatchEvent('crServiceWorker', { worker: new WorkerDispatcher(this._scope, serviceWorker) }));
}
}

View File

@ -73,7 +73,7 @@ function apiForBrowser(browserName) {
name: 'Chromium',
events: {
...require('../../lib/events').Events,
ChromiumBrowserContext: require('../../lib/chromium/events').Events.CRBrowserContext,
...require('../../lib/chromium/events').Events,
}
},
];

View File

@ -80,7 +80,7 @@ function checkSources(sources) {
visit(classesByName.get(parent));
};
visit(cls);
return new Documentation.Class(expandPrefix(cls.name), Array.from(membersMap.values()), undefined, cls.comment, cls.templates);
return new Documentation.Class(cls.name, Array.from(membersMap.values()), undefined, cls.comment, cls.templates);
});
}
@ -100,9 +100,10 @@ function checkSources(sources) {
className = path.basename(parent.fileName, '.js');
}
if (className && !excludeClasses.has(className)) {
classes.push(serializeClass(className, symbol, node));
inheritance.set(className, parentClasses(node));
excludeClasses.add(className);
const renamed = expandPrefix(className);
classes.push(serializeClass(renamed, symbol, node));
inheritance.set(renamed, parentClasses(node).map(expandPrefix));
}
}
if (fileName.endsWith('/api.ts') && ts.isExportSpecifier(node))
@ -184,18 +185,9 @@ function checkSources(sources) {
*/
function serializeType(type, circular = []) {
let typeName = checker.typeToString(type).replace(/SmartHandle/g, 'Handle');
if (typeName === 'any')
if (typeName === 'any')
typeName = 'Object';
const nextCircular = [typeName].concat(circular);
if (typeName === 'Selector') {
if (!excludeClasses.has(typeName)) {
const properties = type.getProperties().map(property => serializeSymbol(property, nextCircular));
classes.push(new Documentation.Class(typeName, properties));
excludeClasses.add(typeName);
}
return new Documentation.Type(typeName, []);
}
const stringIndexType = type.getStringIndexType();
if (stringIndexType) {
return new Documentation.Type(`Object<string, ${serializeType(stringIndexType, circular).name}>`);
@ -245,14 +237,6 @@ function checkSources(sources) {
continue;
if (EventEmitter.prototype.hasOwnProperty(name))
continue;
if (className === 'CDPSession' && name === 'send') {
// special case CDPSession.send, which has a stricter private API than the public API
members.push(Documentation.Member.createMethod('send', [
Documentation.Member.createProperty('method', new Documentation.Type('string')),
Documentation.Member.createProperty('params', new Documentation.Type('Object')),
], new Documentation.Type('Promise<Object>')));
continue;
}
const memberType = checker.getTypeOfSymbolAtLocation(member, member.valueDeclaration);
const signature = signatureForType(memberType);
if (member.flags & ts.SymbolFlags.TypeParameter)