import fs from 'node:fs'
import { getAbsoluteFilepath, assertDirectoryExists } from './utils.js'
* Command implementation of the `saveRecordingScreen` command.
*/
export async function saveRecordingScreen (
this: WebdriverIO.Browser,
filepath: string
) {
* type check
*/
if (typeof filepath !== 'string') {
throw new Error('saveRecordingScreen expects a filepath')
}
const absoluteFilepath = getAbsoluteFilepath(filepath)
await assertDirectoryExists(absoluteFilepath)
const videoBuffer = await this.stopRecordingScreen()
const video = Buffer.from(videoBuffer, 'base64')
fs.writeFileSync(absoluteFilepath, video)
return video
}