apple-version-history
Version:
List of released Apple operating system versions and builds.
53 lines (52 loc) • 2.21 kB
JavaScript
;
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));
}