UNPKG

@gmetrixr/rjson

Version:
44 lines (43 loc) 2.8 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getHighestDeploymentVersion = exports.migrateDeployment = exports.createNewDeployment = void 0; const r_1 = require("../../r"); const d000_001_initial_deployment_migrations_1 = __importDefault(require("./deployment-migration-commands/d000_001_initial_deployment_migrations")); const deploymentMigrations_1 = require("./deploymentMigrations"); Object.defineProperty(exports, "getHighestDeploymentVersion", { enumerable: true, get: function () { return deploymentMigrations_1.getHighestDeploymentVersion; } }); const deploymentMigrationVersions = Object.keys(deploymentMigrations_1.deploymentMigrationTree).map(numStr => parseInt(numStr)).sort((a, b) => (a - b)); const createNewDeployment = () => { const deployment = r_1.R.createRecord(r_1.RT.deployment); const recordF = r_1.r.record(deployment); recordF.set(r_1.rtp.deployment.deployment_version, (0, deploymentMigrations_1.getHighestDeploymentVersion)()); return deployment; }; exports.createNewDeployment = createNewDeployment; /** * Applies migrations for "r" type and returns a new project reference */ const migrateDeployment = (deploymentJson, uptoVersion) => { var _a, _b, _c, _d; //Check if deployment hasn't been converted to recordNode yet if (((_a = deploymentJson === null || deploymentJson === void 0 ? void 0 : deploymentJson.props) === null || _a === void 0 ? void 0 : _a.deployment_version) === undefined || ((_b = deploymentJson === null || deploymentJson === void 0 ? void 0 : deploymentJson.props) === null || _b === void 0 ? void 0 : _b.deployment_version) < 1) { //The following step converts the json to "r" type and makes the version number 1 deploymentJson = d000_001_initial_deployment_migrations_1.default.execute(deploymentJson); } const rDeploymentJson = deploymentJson; let jsonVersion = (_d = (_c = rDeploymentJson === null || rDeploymentJson === void 0 ? void 0 : rDeploymentJson.props) === null || _c === void 0 ? void 0 : _c.deployment_version) !== null && _d !== void 0 ? _d : 0; if (uptoVersion === undefined) { uptoVersion = deploymentMigrationVersions[deploymentMigrationVersions.length - 1] + 1; } for (const key of deploymentMigrationVersions) { if (jsonVersion === key && key < uptoVersion) { // console.log(`Running r migration ${key}`); deploymentMigrations_1.deploymentMigrationTree[key].execute(deploymentJson); jsonVersion = deploymentJson.props.deployment_version; } } return deploymentJson; }; exports.migrateDeployment = migrateDeployment;