feat: integrate new env model of bru lang

This commit is contained in:
Anoop M D 2023-02-06 23:22:48 +05:30
parent 33f8900705
commit 963b0c257f
5 changed files with 45 additions and 9 deletions

View File

@ -6,8 +6,6 @@ const { hasJsonExtension, hasBruExtension, writeFile } = require('../utils/files
const {
bruToEnvJson,
envJsonToBru,
} = require('@usebruno/lang');
const {
bruToJson,
jsonToBru
} = require('../bru');

View File

@ -1,9 +1,41 @@
const _ = require('lodash');
const {
bruToEnvJson: bruToEnvJsonV1,
envJsonToBru: envJsonToBruV1,
bruToJson: bruToJsonV1,
bruToJsonV2,
jsonToBruV2
jsonToBruV2,
bruToEnvJsonV2,
envJsonToBruV2
} = require('@usebruno/lang');
const { each } = require('lodash');
const bruToEnvJson = (bru) => {
try {
const json = bruToEnvJsonV2(bru);
// the app env format requires each variable to have a type
// this need to be evaulated and safely removed
// i don't see it being used in schema validation
if(json && json.variables && json.variables.length) {
each(json.variables, (v) => v.type = "text");
}
return json;
} catch (error) {
return Promise.reject(e);
}
}
const envJsonToBru = (json) => {
try {
const bru = envJsonToBruV2(json);
return bru;
} catch (error) {
return Promise.reject(e);
}
}
/**
* The transformer function for converting a BRU file to JSON.
@ -48,7 +80,7 @@ const bruToJson = (bru) => {
return transformedJson;
} catch (e) {
return bruToJsonV1(bru);
return Promise.reject(e);
}
};
/**
@ -93,5 +125,7 @@ const jsonToBru = (json) => {
module.exports = {
bruToJson,
jsonToBru
jsonToBru,
bruToEnvJson,
envJsonToBru,
};

View File

@ -4,8 +4,6 @@ const path = require('path');
const { ipcMain } = require('electron');
const {
envJsonToBru,
} = require('@usebruno/lang');
const {
bruToJson,
jsonToBru
} = require('../bru');

View File

@ -7,6 +7,8 @@ const {
const bruToJsonV2 = require('../v2/src/bruToJson');
const jsonToBruV2 = require('../v2/src/jsonToBru');
const bruToEnvJsonV2 = require('../v2/src/envToJson');
const envJsonToBruV2 = require('../v2/src/jsonToEnv');
module.exports = {
bruToJson,
@ -15,5 +17,7 @@ module.exports = {
envJsonToBru,
bruToJsonV2,
jsonToBruV2
jsonToBruV2,
bruToEnvJsonV2,
envJsonToBruV2
};

View File

@ -51,7 +51,9 @@ const concatArrays = (objValue, srcValue) => {
const sem = grammar.createSemantics().addAttribute('ast', {
BruEnvFile(tags) {
if(!tags || !tags.ast || !tags.ast.length) {
return {};
return {
variables: []
};
}
return _.reduce(tags.ast, (result, item) => {