import { deepLinkHandlerSnippet } from "./iosConstants";
import { SmartechBaseProps } from "./smartechBaseProps";


export class Helper {

    static Ios = class {

        static addDeepLinkHandler(content: string, props: SmartechBaseProps): string {
            const smartechContentLines = content.split("\n");
            const lastLine = this.getLastLine(smartechContentLines);
            const deepLinkHandlerLines = deepLinkHandlerSnippet(props.deepLinkDelay);

            const smartechDelegateContents = [
                ...smartechContentLines.slice(0, lastLine + 1),
                deepLinkHandlerLines,
                ...smartechContentLines.slice(lastLine + 1),
            ].join("\n");

            return smartechDelegateContents;
        };

        static getLastLine = (lineArray: string[]): number => {
            return lineArray.lastIndexOf("@end") - 1;
        };
    }

    static Android = class {

        static addDependency(appContents: string,
            dependency: string,
            version: string): string {
            const dependencyTemplate = `api "${dependency}:${version}"`;
            return appContents.replace('dependencies {', `dependencies {\n  ${dependencyTemplate}`);
        }
    }
}

