public static fromReleaseInfo()

in src/models/platform.ts [95:131]


	public static fromReleaseInfo(releaseInfo: string, eol: string = os.EOL): LinuxDistribution {
		let name = unknown;
		let version = unknown;
		let idLike: string[] = undefined;

		const lines = releaseInfo.split(eol);
		for (let line of lines) {
			line = line.trim();

			let equalsIndex = line.indexOf('=');
			if (equalsIndex >= 0) {
				let key = line.substring(0, equalsIndex);
				let value = line.substring(equalsIndex + 1);

				// Strip quotes if necessary
				if (value.length > 1 && value.startsWith('"') && value.endsWith('"')) {
					value = value.substring(1, value.length - 1);
				} else if (value.length > 1 && value.startsWith('\'') && value.endsWith('\'')) {
					value = value.substring(1, value.length - 1);
				}

				if (key === 'ID') {
					name = value;
				} else if (key === 'VERSION_ID') {
					version = value;
				} else if (key === 'ID_LIKE') {
					idLike = value.split(' ');
				}

				if (name !== unknown && version !== unknown && idLike !== undefined) {
					break;
				}
			}
		}

		return new LinuxDistribution(name, version, idLike);
	}