mirror of
https://github.com/usebruno/bruno.git
synced 2024-11-25 17:33:28 +01:00
feat: making changes in app to use the new bru lang format
This commit is contained in:
parent
4a4208f272
commit
c3236d4eb1
@ -4,7 +4,7 @@ import { Tooltip as ReactTooltip } from 'react-tooltip';
|
||||
const Tooltip = ({ text, tooltipId }) => {
|
||||
return (
|
||||
<>
|
||||
<svg tabindex="-1" id={tooltipId} xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" className="inline-block ml-2 cursor-pointer" viewBox="0 0 16 16" style={{marginTop: 1}}>
|
||||
<svg tabIndex="-1" id={tooltipId} xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" className="inline-block ml-2 cursor-pointer" viewBox="0 0 16 16" style={{marginTop: 1}}>
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
||||
<path d="M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z"/>
|
||||
</svg>
|
||||
|
@ -4,11 +4,13 @@ const path = require('path');
|
||||
const chokidar = require('chokidar');
|
||||
const { hasJsonExtension, hasBruExtension, writeFile } = require('../utils/filesystem');
|
||||
const {
|
||||
bruToJson,
|
||||
jsonToBru,
|
||||
bruToEnvJson,
|
||||
envJsonToBru,
|
||||
} = require('@usebruno/lang');
|
||||
const {
|
||||
bruToJson,
|
||||
jsonToBru
|
||||
} = require('../bru');
|
||||
const { itemSchema } = require('@usebruno/schema');
|
||||
const { uuid } = require('../utils/common');
|
||||
const { getRequestUid } = require('../cache/requestUids');
|
||||
@ -179,6 +181,7 @@ const add = async (win, pathname, collectionUid, collectionPath) => {
|
||||
try {
|
||||
const bru = fs.readFileSync(pathname, 'utf8');
|
||||
file.data = bruToJson(bru);
|
||||
console.log(JSON.stringify(file.data, null, 2));
|
||||
hydrateRequestWithUuid(file.data, pathname);
|
||||
win.webContents.send('main:collection-tree-updated', 'addFile', file);
|
||||
} catch (err) {
|
||||
|
97
packages/bruno-electron/src/bru/index.js
Normal file
97
packages/bruno-electron/src/bru/index.js
Normal file
@ -0,0 +1,97 @@
|
||||
const _ = require('lodash');
|
||||
const {
|
||||
bruToJson: bruToJsonV1,
|
||||
bruToJsonV2,
|
||||
jsonToBruV2
|
||||
} = require('@usebruno/lang');
|
||||
|
||||
/**
|
||||
* The transformer function for converting a BRU file to JSON.
|
||||
*
|
||||
* We map the json response from the bru lang and transform it into the DSL
|
||||
* format that the app users
|
||||
*
|
||||
* @param {string} bru The BRU file content.
|
||||
* @returns {object} The JSON representation of the BRU file.
|
||||
*/
|
||||
const bruToJson = (bru) => {
|
||||
try {
|
||||
const json = bruToJsonV2(bru);
|
||||
|
||||
let requestType = _.get(json, "meta.type");
|
||||
if(requestType === "http") {
|
||||
requestType = "http-request"
|
||||
} else if(requestType === "graphql") {
|
||||
requestType = "graphql-request";
|
||||
} else {
|
||||
requestType = "http";
|
||||
}
|
||||
|
||||
const sequence = _.get(json, "meta.seq")
|
||||
|
||||
const transformedJson = {
|
||||
"type": requestType,
|
||||
"name": _.get(json, "meta.name"),
|
||||
"seq": !isNaN(sequence) ? Number(sequence) : 1,
|
||||
"request": {
|
||||
"method": _.upperCase(_.get(json, "http.method")),
|
||||
"url": _.get(json, "http.url"),
|
||||
"params": _.get(json, "query", []),
|
||||
"headers": _.get(json, "headers", []),
|
||||
"body": _.get(json, "body", {}),
|
||||
},
|
||||
"script": _.get(json, "script", ""),
|
||||
"test": _.get(json, "test", "")
|
||||
};
|
||||
|
||||
transformedJson.request.body.mode = _.get(json, "http.mode", "none");
|
||||
|
||||
return transformedJson;
|
||||
} catch (e) {
|
||||
return bruToJsonV1(bru);
|
||||
}
|
||||
};
|
||||
/**
|
||||
* The transformer function for converting a JSON to BRU file.
|
||||
*
|
||||
* We map the json response from the app and transform it into the DSL
|
||||
* format that the bru lang understands
|
||||
*
|
||||
* @param {object} json The JSON representation of the BRU file.
|
||||
* @returns {string} The BRU file content.
|
||||
*/
|
||||
const jsonToBru = (json) => {
|
||||
let type = _.get(json, 'type');
|
||||
if (type === 'http-request') {
|
||||
type = "http";
|
||||
} else if (type === 'graphql-request') {
|
||||
type = "graphql";
|
||||
} else {
|
||||
type = "http";
|
||||
}
|
||||
|
||||
const bruJson = {
|
||||
meta: {
|
||||
name: _.get(json, 'name'),
|
||||
type: type,
|
||||
seq: _.get(json, 'seq'),
|
||||
},
|
||||
http: {
|
||||
method: _.lowerCase(_.get(json, 'request.method')),
|
||||
url: _.get(json, 'request.url'),
|
||||
mode: _.get(json, 'request.body.mode', 'none')
|
||||
},
|
||||
query: _.get(json, 'request.params', []),
|
||||
headers: _.get(json, 'request.headers', []),
|
||||
body: _.get(json, 'request.body', {}),
|
||||
script: _.get(json, 'script', ''),
|
||||
test: _.get(json, 'test', ''),
|
||||
};
|
||||
|
||||
return jsonToBruV2(bruJson);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
bruToJson,
|
||||
jsonToBru
|
||||
};
|
@ -3,10 +3,13 @@ const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { ipcMain } = require('electron');
|
||||
const {
|
||||
jsonToBru,
|
||||
bruToJson,
|
||||
envJsonToBru,
|
||||
} = require('@usebruno/lang');
|
||||
const {
|
||||
bruToJson,
|
||||
jsonToBru
|
||||
} = require('../bru');
|
||||
|
||||
const {
|
||||
isValidPathname,
|
||||
writeFile,
|
||||
|
@ -4,6 +4,8 @@
|
||||
"main": "src/index.js",
|
||||
"files": [
|
||||
"src",
|
||||
"v1",
|
||||
"v2",
|
||||
"package.json"
|
||||
],
|
||||
"scripts": {
|
||||
|
@ -3,9 +3,10 @@ const {
|
||||
jsonToBru,
|
||||
bruToEnvJson,
|
||||
envJsonToBru
|
||||
} = require('./v1/src');
|
||||
} = require('../v1/src');
|
||||
|
||||
const bruToJsonV2 = require('./v2/src/bruToJson');
|
||||
const bruToJsonV2 = require('../v2/src/bruToJson');
|
||||
const jsonToBruV2 = require('../v2/src/jsonToBru');
|
||||
|
||||
module.exports = {
|
||||
bruToJson,
|
||||
@ -13,5 +14,6 @@ module.exports = {
|
||||
bruToEnvJson,
|
||||
envJsonToBru,
|
||||
|
||||
bruToJsonV2
|
||||
bruToJsonV2,
|
||||
jsonToBruV2
|
||||
};
|
Loading…
Reference in New Issue
Block a user