function parseOptions()

in src/rules/npmNamingRule.ts [111:141]


function parseOptions(args: unknown[]): ConfigOptions {
    if (args.length === 0) {
        return defaultOptions;
    }

    const arg = args[0] as { [prop: string]: unknown } | null | undefined;
    if (arg == null) {
        return defaultOptions;
    }

    if (!arg.mode || typeof arg.mode !== "string") {
        return defaultOptions;
    }

    const mode = parseMode(arg.mode);
    if (!mode) {
        return defaultOptions;
    }

    const singleLine = !!arg["single-line"];

    switch (mode) {
        case Mode.NameOnly:
            return { mode, singleLine };
        case Mode.Code:
            if (!arg.errors || !Array.isArray(arg.errors)) {
                return { mode, errors: [], singleLine };
            }
            return { mode, errors: parseEnabledErrors(arg.errors), singleLine };
    }
}