UNPKG

apple-version-history

Version:

List of released Apple operating system versions and builds.

53 lines (52 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listVersions = listVersions; exports.flatlistVersionNumbers = flatlistVersionNumbers; exports.listVersionNumbers = listVersionNumbers; exports.flatlistVersionBuilds = flatlistVersionBuilds; exports.listVersionBuilds = listVersionBuilds; exports.listBuilds = listBuilds; exports.flatlistBuilds = flatlistBuilds; const util_1 = require("./util"); const defaultSeparator = ' '; function listVersions(os) { const json = (0, util_1.pickJson)(os); return Object.keys(json); } function flatlistVersionNumbers(os, separator = defaultSeparator) { return [].concat(...listVersionNumbers(os, separator)); } function listVersionNumbers(os, separator = defaultSeparator) { const json = (0, util_1.pickJson)(os); const numbersByVersionName = Object.keys(json).map(versionNameKey => { const versionName = (0, util_1.versionNameWithoutSuffix)(versionNameKey); return Object.keys(json[versionNameKey]) .map(versionNumberKey => [versionName, versionNumberKey].join(separator)); }); return numbersByVersionName; } function flatlistVersionBuilds(os, separator = defaultSeparator) { return [].concat(...listVersionBuilds(os, separator)); } function listVersionBuilds(os, separator = defaultSeparator) { const json = (0, util_1.pickJson)(os); const buildsByVersionName = Object.keys(json).map(versionNameKey => { const versionName = (0, util_1.versionNameWithoutSuffix)(versionNameKey); const buildsByVersionNumber = Object.keys(json[versionNameKey]) .map(versionNumberKey => { return json[versionNameKey][versionNumberKey] .map(versionBuild => [versionName, versionNumberKey, `(${versionBuild})`].join(separator)); }); return [].concat(...buildsByVersionNumber); }); return buildsByVersionName; } function listBuilds(os) { const json = (0, util_1.pickJson)(os); return Object.keys(json) .map(versionName => Object.keys(json[versionName]) .flatMap(versionNumber => json[versionName][versionNumber])); } function flatlistBuilds(os) { return [].concat(...listBuilds(os)); }