function groupImportVariables()

in packages/cli/src/commands/init.ts [253:302]


	function groupImportVariables(): Import[] {
		const result: Import[] = [
			{
				path: "better-auth/client/plugins",
				variables: [{ name: "inferAdditionalFields" }],
			},
		];
		for (const plugin of clientPlugins) {
			for (const import_ of plugin.imports) {
				if (Array.isArray(import_.variables)) {
					for (const variable of import_.variables) {
						const existingIndex = result.findIndex(
							(x) => x.path === import_.path,
						);
						if (existingIndex !== -1) {
							const vars = result[existingIndex]!.variables;
							if (Array.isArray(vars)) {
								vars.push(variable);
							} else {
								result[existingIndex]!.variables = [vars, variable];
							}
						} else {
							result.push({
								path: import_.path,
								variables: [variable],
							});
						}
					}
				} else {
					const existingIndex = result.findIndex(
						(x) => x.path === import_.path,
					);
					if (existingIndex !== -1) {
						const vars = result[existingIndex]!.variables;
						if (Array.isArray(vars)) {
							vars.push(import_.variables);
						} else {
							result[existingIndex]!.variables = [vars, import_.variables];
						}
					} else {
						result.push({
							path: import_.path,
							variables: [import_.variables],
						});
					}
				}
			}
		}
		return result;
	}