public static getOptFromRunArgs()

in src/extension/generalPlatform.ts [155:195]


    public static getOptFromRunArgs(
        runArguments: any[],
        optName: string,
        binary: boolean = false,
    ): any {
        if (runArguments.length > 0) {
            const optIdx = runArguments.indexOf(optName);
            let result: any;

            if (optIdx > -1) {
                result = binary ? true : runArguments[optIdx + 1];
            } else {
                for (const arg of runArguments) {
                    if (arg.includes(optName)) {
                        if (binary) {
                            result = true;
                        } else {
                            const tokens = arg.split("=");
                            result = tokens.length > 1 ? tokens[1].trim() : undefined;
                        }
                    }
                }
            }

            // Binary parameters can either exists (e.g. be true) or be absent. You can not pass false binary parameter.
            if (binary) {
                return result === undefined ? undefined : true;
            }

            if (result) {
                try {
                    return JSON.parse(result);
                } catch (err) {
                    // simple string value, return as is
                    return result;
                }
            }
        }

        return undefined;
    }