mirror of
https://github.com/usebruno/bruno.git
synced 2024-12-22 06:31:18 +01:00
feat: integrate new env model of bru lang
This commit is contained in:
parent
33f8900705
commit
963b0c257f
@ -6,8 +6,6 @@ const { hasJsonExtension, hasBruExtension, writeFile } = require('../utils/files
|
||||
const {
|
||||
bruToEnvJson,
|
||||
envJsonToBru,
|
||||
} = require('@usebruno/lang');
|
||||
const {
|
||||
bruToJson,
|
||||
jsonToBru
|
||||
} = require('../bru');
|
||||
|
@ -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,
|
||||
};
|
||||
|
@ -4,8 +4,6 @@ const path = require('path');
|
||||
const { ipcMain } = require('electron');
|
||||
const {
|
||||
envJsonToBru,
|
||||
} = require('@usebruno/lang');
|
||||
const {
|
||||
bruToJson,
|
||||
jsonToBru
|
||||
} = require('../bru');
|
||||
|
@ -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
|
||||
};
|
@ -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) => {
|
||||
|
Loading…
Reference in New Issue
Block a user