Skip to content

Commit

Permalink
Always match by name
Browse files Browse the repository at this point in the history
  • Loading branch information
yury-s committed Jan 28, 2021
1 parent 7c293f2 commit 0fc51da
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 24 deletions.
32 changes: 16 additions & 16 deletions docs/src/api/javascript.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
### param: ElementHandle.$eval.pageFunction = %%-js-evalonselector-pagefunction-%%
### param: ElementHandle.$$eval.pageFunction = %%-js-evalonselectorall-pagefunction-%%
### param: Frame.$eval.pageFunction = %%-js-evalonselector-pagefunction-%%
### param: Frame.$$eval.pageFunction = %%-js-evalonselectorall-pagefunction-%%
### param: Frame.evaluate.pageFunction = %%-js-evaluate-pagefunction-%%
### param: Frame.evaluateHandle.pageFunction = %%-js-evaluate-pagefunction-%%
### param: Frame.waitForFunction.pageFunction = %%-js-evaluate-pagefunction-%%
### param: JSHandle.evaluate.pageFunction = %%-js-evaluate-pagefunction-%%
### param: JSHandle.evaluateHandle.pageFunction = %%-js-evaluate-pagefunction-%%
### param: Page.$eval.pageFunction = %%-js-evalonselector-pagefunction-%%
### param: Page.$$eval.pageFunction = %%-js-evalonselectorall-pagefunction-%%
### param: Page.evaluate.pageFunction = %%-js-evaluate-pagefunction-%%
### param: Page.evaluateHandle.pageFunction = %%-js-evaluate-pagefunction-%%
### param: Page.waitForFunction.pageFunction = %%-js-evaluate-pagefunction-%%
### param: Worker.evaluate.pageFunction = %%-js-worker-evaluate-workerfunction-%%
### param: Worker.evaluateHandle.pageFunction = %%-js-worker-evaluate-workerfunction-%%
### param: ElementHandle.$eval.expression = %%-js-evalonselector-pagefunction-%%
### param: ElementHandle.$$eval.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Frame.$eval.expression = %%-js-evalonselector-pagefunction-%%
### param: Frame.$$eval.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Frame.evaluate.expression = %%-js-evaluate-pagefunction-%%
### param: Frame.evaluateHandle.expression = %%-js-evaluate-pagefunction-%%
### param: Frame.waitForFunction.expression = %%-js-evaluate-pagefunction-%%
### param: JSHandle.evaluate.expression = %%-js-evaluate-pagefunction-%%
### param: JSHandle.evaluateHandle.expression = %%-js-evaluate-pagefunction-%%
### param: Page.$eval.expression = %%-js-evalonselector-pagefunction-%%
### param: Page.$$eval.expression = %%-js-evalonselectorall-pagefunction-%%
### param: Page.evaluate.expression = %%-js-evaluate-pagefunction-%%
### param: Page.evaluateHandle.expression = %%-js-evaluate-pagefunction-%%
### param: Page.waitForFunction.expression = %%-js-evaluate-pagefunction-%%
### param: Worker.evaluate.expression = %%-js-worker-evaluate-workerfunction-%%
### param: Worker.evaluateHandle.expression = %%-js-worker-evaluate-workerfunction-%%
2 changes: 0 additions & 2 deletions docs/src/api/params.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,6 @@ Toggles bypassing page's Content-Security-Policy.
Sets a consistent viewport for each page. Defaults to an 1280x720 viewport. `null` disables the default viewport.

## evaluate-expression
* langs:
- alias-js: pageFunction
- `expression` <[string]>

JavaScript expression to be evaluated in the browser context. If it looks like a function declaration,
Expand Down
8 changes: 5 additions & 3 deletions utils/doclint/api_parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,13 +121,15 @@ class ApiParser {
const method = clazz.membersArray.find(m => m.kind === 'method' && m.name === match[3]);
if (!method)
throw new Error('Invalid method ' + match[2] + '.' + match[3]);
const name = match[4];
if (!name)
throw new Error('Invalid member name ' + spec.text);
if (match[1] === 'param') {
const arg = this.parseProperty(spec);
const existingArg = method.argsArray.find(m => m.name === arg.name || m.langs.aliases && Object.values(m.langs.aliases).indexOf(arg.name) !== -1);
arg.name = name;
const existingArg = method.argsArray.find(m => m.name === arg.name);
if (existingArg) {
for (const lang of arg.langs.only) {
if (existingArg.name !== arg.name && existingArg.langs.aliases[lang] !== arg.name)
throw new Error(`Argument override ${arg.name} is not listed as ${lang} alias for ${clazz.name}.${method.name}.${existingArg.name}`);
existingArg.langs.overrides = existingArg.langs.overrides || {};
existingArg.langs.overrides[lang] = arg;
}
Expand Down
3 changes: 0 additions & 3 deletions utils/doclint/documentation.js
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,8 @@ Documentation.Member = class {
for (const arg of this.argsArray) {
if (arg.langs.only && !arg.langs.only.includes(lang))
continue;
if (arg.langs.aliases && arg.langs.aliases[lang])
arg.alias = arg.langs.aliases[lang];
const overriddenArg = (arg.langs.overrides && arg.langs.overrides[lang]) || arg;
overriddenArg.filterForLanguage(lang);
overriddenArg.type.filterForLanguage(lang);
if (overriddenArg.name === 'options' && !overriddenArg.type.properties.length)
continue;
argsArray.push(overriddenArg);
Expand Down

0 comments on commit 0fc51da

Please sign in to comment.