Fix Video.saveAs and properly error in unsupported cases
This commit is contained in:
parent
6d8cfa699b
commit
d2cfd4aea7
|
|
@ -36,6 +36,7 @@ Returns the file system path this video will be recorded to. The video is guaran
|
||||||
upon closing the browser context. This method throws when connected remotely.
|
upon closing the browser context. This method throws when connected remotely.
|
||||||
|
|
||||||
## async method: Video.saveAs
|
## async method: Video.saveAs
|
||||||
|
* langs: js, csharp
|
||||||
* since: v1.11
|
* since: v1.11
|
||||||
|
|
||||||
Saves the video to a user-specified path. It is safe to call this method while the video
|
Saves the video to a user-specified path. It is safe to call this method while the video
|
||||||
|
|
|
||||||
|
|
@ -63,5 +63,3 @@ Unhandled error that was thrown.
|
||||||
* since: v1.38
|
* since: v1.38
|
||||||
* langs: java, csharp
|
* langs: java, csharp
|
||||||
- returns: <[string]>
|
- returns: <[string]>
|
||||||
|
|
||||||
Unhandled error that was thrown.
|
|
||||||
|
|
|
||||||
|
|
@ -129,10 +129,18 @@ class ApiParser {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const existingMember = clazz.membersArray.find(m => m.name === name && m.kind === member.kind);
|
const existingMember = clazz.membersArray.find(m => m.name === name && m.kind === member.kind);
|
||||||
if (existingMember && isTypeOverride(existingMember, member)) {
|
if (existingMember) {
|
||||||
for (const lang of member?.langs?.only || []) {
|
if (isTypeOverride(existingMember, member) && (member.spec === undefined || member.spec.length === 0)) {
|
||||||
existingMember.langs.types = existingMember.langs.types || {};
|
// Can only override return types if the overriding entry (`member`) has no spec content
|
||||||
existingMember.langs.types[lang] = returnType;
|
for (const lang of member.langs.only || []) {
|
||||||
|
existingMember.langs.types = existingMember.langs.types || {};
|
||||||
|
existingMember.langs.types[lang] = returnType;
|
||||||
|
}
|
||||||
|
} else if (!existingMember.langs.only || existingMember.langs.only.some(l => member.langs.only?.includes(l))) {
|
||||||
|
throw new Error(`Duplicate member ${clazz.name}.${name} for at least one language: ${member.langs.only}`);
|
||||||
|
} else {
|
||||||
|
// This member exists alongside the current one
|
||||||
|
clazz.membersArray.push(member);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
clazz.membersArray.push(member);
|
clazz.membersArray.push(member);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue