appium-flutter-driver
Version:
Appium Flutter driver
23 lines (21 loc) • 772 B
text/typescript
import _ from 'lodash';
import {util} from '@appium/support';
export const decode = (
input: string | {ELEMENT: string} | {[util.W3C_WEB_ELEMENT_IDENTIFIER]: string},
): string => {
let base64String: string = ``;
if (_.isString(input)) {
base64String = input as string;
} else if (_.has(input, util.W3C_WEB_ELEMENT_IDENTIFIER)) {
base64String = input[util.W3C_WEB_ELEMENT_IDENTIFIER] as string;
} else if (_.has(input, 'ELEMENT')) {
// @ts-ignore TS2339
base64String = input.ELEMENT as string;
} else {
throw new Error(
`Input is expected to be a base64-encoded string or a valid element object. ` +
`${JSON.stringify(input)} has been provided instead`,
);
}
return Buffer.from(base64String, `base64`).toString();
};