Skip to content

Commit

Permalink
fixing regression that removed the ability to pass a string to anyToJ…
Browse files Browse the repository at this point in the history
…son while in a browser context
  • Loading branch information
tnrich committed Mar 30, 2021
1 parent f2491ed commit a590278
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 18 deletions.
26 changes: 14 additions & 12 deletions src/parsers/anyToJson.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,9 @@ async function anyToJson(fileContentStringOrFileObj, onFileParsed, options) {
fileName = fileContentStringOrFileObj.name;
}
const ext = extractFileExtension(fileName);
// if (typeof fileContentStringOrFileObj === "string") {
// console.log(`strang`)
// fileContentString = fileContentStringOrFileObj;
// } else {
if (typeof fileContentStringOrFileObj === "string") {
fileContentString = fileContentStringOrFileObj;
} else {
if (/^(ab1)$/.test(ext)) {
// AB1 sequencing read
//we will always want to pass the file obj and not the string to ab1
Expand All @@ -36,9 +35,12 @@ async function anyToJson(fileContentStringOrFileObj, onFileParsed, options) {
return snapgeneToJson(fileContentStringOrFileObj, onFileParsed, options);
} else {
// we want to get the string from the file obj
fileContentString = await getFileString(fileContentStringOrFileObj);
fileContentString = await getFileString(
fileContentStringOrFileObj,
options
);
}
// }
}

if (/^(fasta|fas|fa|fna|ffn)$/.test(ext)) {
// FASTA
Expand Down Expand Up @@ -85,22 +87,22 @@ async function anyToJson(fileContentStringOrFileObj, onFileParsed, options) {
if (firstChar === ">") {
parsersToTry = parsersToTry.sort((a, b) => {
if (a.name === "Fasta Parser") return 1;
return -1
return -1;
});
} else if (firstChar === "L") {
parsersToTry = parsersToTry.sort((a, b) => {
if (a.name === "Genbank Parser") return 1;
return -1
return -1;
});
} else if (firstChar === "#") {
parsersToTry = parsersToTry.sort((a, b) => {
if (a.name === "GFF Parser") return 1;
return -1
return -1;
});
} else if (firstChar === "<") {
parsersToTry = parsersToTry.sort((a, b) => {
if (a.name === "XML Parser") return 1;
return -1
return -1;
});
}
/* eslint-enable array-callback-return*/
Expand Down Expand Up @@ -150,8 +152,8 @@ async function anyToJson(fileContentStringOrFileObj, onFileParsed, options) {

export default addPromiseOption(anyToJson);

function getFileString(file) {
if (typeof window === "undefined") {
function getFileString(file, { emulateBrowser } = {}) {
if (typeof window === "undefined" && !emulateBrowser) { //emulate browser is only used for testing purposes
//we're in a node context
return file;
}
Expand Down
18 changes: 12 additions & 6 deletions src/test/anyToJson.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,14 @@ describe("anyToJsonPromise", function() {
});
describe("anyToJson", function() {
it("should not break on LQNKMVSDKGRAHKPAWYMGMVNNAYNLSIISTMIL parsed with isProtein=true", async function(done) {
const results = await anyToJson("LQNKMVSDKGRAHKPAWYMGMVNNAYNLSIISTMIL", {
fileName: "randomString.txt",
isProtein: true,
});
const results = await anyToJson(
"LQNKMVSDKGRAHKPAWYMGMVNNAYNLSIISTMIL",
{
fileName: "randomString.txt",
isProtein: true,
emulateBrowser: true //this shouldn't make it to the getFileString fn
},
);
results[0].parsedSequence.sequence.length.should.equal(36);
results[0].parsedSequence.name.should.equal("randomString");
done();
Expand All @@ -49,8 +53,10 @@ describe("anyToJson", function() {
"tgttaacttgtttattgcagcttataatggttacaaataaagcaatagcatcacaaatttcacaaataaagcatttttttcactgcattctagttgtggtttgtccaaactcatcaatgtatcttaacgcggaggtttatcgacgatctgctagtgattaatagtaatcaattacggggtcattagttcatagcccatatatggagttccgcgttacataacttacggtaaatggcccgcctggctgaccgcccaacgacccccgcccattgacgtcaataatgacgtatgttcccatagtaacgccaatagggactttccattgacgtcaatgggtggagtatttacggtaaactgcccacttggcagtacatcaagtgtatcatatgccaagtacgccccctattgacgtcaatgacggtaaatggcccgcctggcattatgcccagtacatgaccttatgggactttcctacttggcagtacatctacgtattagtcatcgctattaccatggtgatgcggttttggcagtacatcaatgggcgtggatagcggtttgactcacggggatttccaagtctccaccccattgacgtcaatgggagtttgttttggcaccaaaatcaacgggactttccaaaatgtcgtaacaactccgccccattgacgcaaatgggcggtaggcgtgtacggtgggaggtctatataagcagagctggtttagtgaaccgtcagatccgctagcgctaccggtcgccaccatggtgagcaagggcgaggagctgttcaccggggtggtgcccatcctggtcgagctggacggcgacgtaaacggccacaagttcagcgtgtccggcgagggcgagggcgatgccacctacggcaagctgaccctgaagttcatctgcaccaccggcaagctgcccgtgccctggcccaccctcgtgaccaccctgacctacggcgtgcagtgcttcagccgctaccccgaccacatgaagcagcacgacttcttcaagtccgccatgcccgaaggctacgtccaggagcgcaccatcttcttcaaggacgacggcaactacaagacccgcgccgaggtgaagttcgagggcgacaccctggtgaaccgcatcgagctgaagggcatcgacttcaaggaggacggcaacatcctggggcacaagctggagtacaactacaacagccacaacgtctatatcatggccgacaagcagaagaacggcatcaaggtgaacttcaagatccgccacaacatcgaggacggcagcgtgcagctcgccgaccactaccagcagaacacccccatcggcgacggccccgtgctgctgcccgacaaccactacctgagcacccagtccgccctgagcaaagaccccaacgagaagcgcgatcacatggtcctgctggagttcgtgaccgccgccgggatcactctcggcatggacgagctgtacaagtccggactcagatccaccggatctagataactgatcataatcagccataccacatttgtagaggttttacttgctttaaaaaacctcccacacctccccctgaacctgaaacataaaatgaatgcaattgttgttgttaacttgtttattgcagcttataatggttacaaataaagcaatagcatcacaaatttcacaaataaagcatttttttcactgcattctagttgtggtttgtccaaactcatcaatgtatcttaacgcgatcaagctagcttgctagactcgactgactataataataaaacgccaactttgacccggaacgcggaaaacacctgagaaaaacacctgggcgagtctccacgtaaacggtcaaagtccccgcggccctagacaaatattacgcgctatgagtaacacaaaattattcagatttcacttcctcttattcagttttcccgcgaaaatggccaaatcttactcggttacgcccaaatttactacaacatccgcctaaaaccgcgcgaaaattgtcacttcctgtgtacaccggcgcacaccaaaaacgtcacttttgccacatccgtcgcttacatgtgttccgccacacttgcaacatcacacttccgccacactactacgtcacccgccccgttcccacgccccgcgccacgtcacaaactccaccccctcattatcatattggcttcaatccaaaataaggtatattattgatgatgttaattaagaattaattcgatcctgaatggcgaatggacgcgccctgtagcggcgcattaagcgcggcgggtgtggtggttacgcgcagcgtgaccgctacacttgccagcgccctagcgcccgctcctttcgctttcttcccttcctttctcgccacgttcgccggctttccccgtcaagctctaaatcgggggctccctttagggttccgatttagtgctttacggcacctcgaccccaaaaaacttgattagggtgatggttcacgtagtgggccatcgccctgatagacggtttttcgccctttgacgttggagtccacgttctttaatagtggactcttgttccaaactggaacaacactcaaccctatctcggtctattcttttgatttataagggattttgccgatttcggcctattggttaaaaaatgagctgatttaacaaaaattttaacaaaattcagaagaactcgtcaagaaggcgatagaaggcgatgcgctgcgaatcgggagcggcgataccgtaaagcacgaggaagcggtcagcccattcgccgccaagctcttcagcaatatcacgggtagccaacgctatgtcctgatagcggtccgccacacccagccggccacagtcgatgaatccagaaaagcggccattttccaccatgatattcggcaagcaggcatcgccatgggtcacgacgagatcctcgccgtcgggcatgctcgccttgagcctggcgaacagttcggctggcgcgagcccctgatgctcttcgtccagatcatcctgatcgacaagaccggcttccatccgagtacgtgctcgctcgatgcgatgtttcgcttggtggtcgaatgggcaggtagccggatcaagcgtatgcagccgccgcattgcatcagccatgatggatactttctcggcaggagcaaggtgagatgacaggagatcctgccccggcacttcgcccaatagcagccagtcccttcccgcttcagtgacaacgtcgagcacagctgcgcaaggaacgcccgtcgtggccagccacgatagccgcgctgcctcgtcttgcagttcattcagggcaccggacaggtcggtcttgacaaaaagaaccgggcgcccctgcgctgacagccggaacacggcggcatcagagcagccgattgtctgttgtgcccagtcatagccgaatagcctctccacccaagcggccggagaacctgcgtgcaatccatcttgttcaatcatgcgaaacgatcctcatcctgtctcttgatcagagcttgatcccctgcgccatcagatccttggcggcaagaaagccatccagtttactttgcagggcttcccaaccttaccagagggcgccccagctggcaattccggttcgcttgctgtccataaaaccgcccagtctagctatcgccatgtaagcccactgcaagctacctgctttctctttgcgcttgcgttttcccttgtccagatagcccagtagctgacattcatccggggtcagcaccgtttctgcggactggctttctacgtgaaaaggatctaggtgaagatcctttttgataatctcatggctgcagcaatggcaacaacgttgcgcaaactattaactggcgaactacttactctagcttcccggcaacaattaatagactggatggaggcggataaagttgcaggaccacttctgcgctcggcccttccggctggctggtttattgctgataaatctggagccggtgagcgtgggtctcgcggtatcattgcagcactggggccagatggtaagccctcccgtatcgtagttatctacacgacggggagtcaggcaactatggatgaacgaaatagacagatcgctgagataggtgcctcactgattaagcattggtaactgtcagaccaagtttactcatatatactttagattgatttaaaacttcatttttaatttaaaaggatctaggtgaagatcctttttgataatctcatgaccaaaatcccttaacgtgagttttcgttccactgagcgtcagaccccgtagaaaagatcaaaggatcttcttgagatcctttttttctgcgcgtaatctgctgcttgcaaacaaaaaaaccaccgctaccagcggtggtttgtttgccggatcaagagctaccaactctttttccgaaggtaactggcttcagcagagcgcagataccaaatactgtccttctagtgtagccgtagttaggccaccacttcaagaactctgtagcaccgcctacatacctcgctctgctaatcctgttaccagtggctgctgccagtggcgataagtcgtgtcttaccgggttggactcaagacgatagttaccggataaggcgcagcggtcgggctgaacggggggttcgtgcacacagcccagcttggagcgaacgacctacaccgaactgagatacctacagcgtgagctatgagaaagcgccacgcttcccgaagggagaaaggcggacaggtatccggtaagcggcagggtcggaacaggagagcgcacgagggagcttccagggggaaacgcctggtatctttatagtcctgtcgggtttcgccacctctgacttgagcgtcgatttttgtgatgctcgtcaggggggcggagcctatggaaaaacgccagcaacgcggcctttttacggttcctggccttttgctggccttttgctcacatgttctttcctgcgttatcccctgattctgtggataaccgtattaccgcctttgagtgagctgataccgctcgccgcagccgaacgaccgagcgcagcgagtcagtgagcgaggaagcggaagagcgcctgatgcggtattttctccttacgcatctgtgcggtatttcacaccgcatatggatccatgcatgttaattaacatcatcaataatataccttattttggattgaagccaatatgataatgagggggtggagtttgtgacgtggcgcggggcgtgggaacggggcgggtgacgtaggttttagggcggagtaacttgtatgtgttgggaattgtagttttcttaaaatgggaagtgacgtaacgtgggaaaacggaagtgacgatttgaggaagttgtgggttttttggctttcgtttctgggcgtaggttcgcgtgcggttttctgggtgttttttgtggactttaaccgttacgtcattttttagtcctatatatactcgctctgcacttggcccttttttacactgtgactgattgagctggtgccgtgtcgagtggtgtttttttaataggttttcttttttactggtaaggctgactgttatggctgccgctgtggaagcgctgtatgttgttctggagcgggagggtgctattttgcctaggcaggagggtttttcaggtgtttatgtgtttttctctcctattaattttgttatacctcctatgggggctgtaatgttgtctctacgcctgcgggtatgtattcccccgggctatttcggtcgctttttagcactgaccgatgtgaatcaacctgatgtgtttaccgagtcttacattatgactccggacatgaccgaggagctgtcggtggtgctttttaatcacggtgaccagtttttttacggtcacgccggcatggccgtagtccgtcttatgcttataagggttgtttttcctgttgtaagacaggcttctaatgtttaaatgtttttttgttattttattttgtgtttatgcagaaacccgcagacatgtttgagagaaaaatggtgtctttttctgtggtggttccggagcttacctgcctttatctgcatgagcatgactacgatgtgctttcttttttgcgcgaggctttgcctgattttttgagcagcaccttgcattttatatcgccgcccatgcaacaagctattgaattcgtttaaactccctctcaagtctgtatacggggacacggacagccttttcgtcaccgagcgtggacaccggctcatggaaaccagaggtaagaaacgcatcaaaaagcatgggggaaacctggtttttgaccccgaacggccagagctcacctggctcgtggaatgcgagaccgtctgcggggcctgcggcgcggatgcctactccccggaatcggtatttctcgcgcccaagctctacgccctcaaaagtctgcactgcccctcgtgcggcgcctcctccaagggcaagctgcgcgccaagggccacgccgcggaggggctggactatgacaccatggtcaaatgctacctggccgacgcgcagggcgaagaccggcagcgcttcagcaccagcaggaccagcctcaagcgcaccctggccagcgcgcagcccggagcgcaccccttcaccgtgacccagactacgctgacgaggaccctgcgcccgtggaaagacatgaccctggcccgtctggacgagcaccgactactgccgtacagcgaaagccgccccaacccgcgaaacgaggagatatgctggatcgagatgccgtagagcaggtgaccgagctgtgggaccgcctggaactgcttggtcaaacgctcaaaagcatgcctacggcggacggtctcaaaccgttgaaaaactttgcttccttgcaagaactgctatcgctgggcggcgagcgccttctggcggatttggtcagggaaaacatgcgagtcagggacatgcttaacgaagtggcccccctgctcagggatgacggcagctgcagctctcttaactaccagttgcagccggtaataggtgtgatttacgggcccaccggctgcggtaagtcgcagctgctcaggaacctgctttcttcccagctgatctcccctaccccggaaaccgttttcttcatcgccccgcaggtagacatgatccccccatctgaactcaaagcgtgggaaatgcaaatctgtgagggtaactacgcccctgggccggatggaaccattataccgcagtctggcaccctccgcccgcgctttgtaaaaatggcctatgacgatctcatcctggaacacaactatgacgttagtgatcccagaaatatcttcgcccaggccgccgcccgtgggcccattgccatcattatggacgaatgcatggaaaatcttggaggtcacaagggcgtctccaagttcttccacgcatttccttctaagctacatgacaaatttcccaagtgcaccggatacactgtgctggtggttctgcacaacatgaatccccggagggatatggctgggaacatagccaacctaaaaatacagtccaagatgcatctcatatccccacgtatgcacccatcccagcttaaccgctttgtaaacacttacaccaagggcctgcccctggcaatcagcttgctactgaaagacatttttaggcaccacgcccagcgctcctgctacgactggatcatctacaacaccaccccgcagcatgaagctctgcagtggtgctacctccaccccagagacgggcttatgcccatgtatctgaacatccagagtcacctttaccacgtcctggaaaaaatacacaggaccctcaacgaccgagaccgctggtcccgggcctaccgcgcgcgcaaaacccctaaataaagacagcaagacacttgcttgatccaaatccaaacagagtctggttttttatttatgttttaaaccgcattgggaggggaggaagccttcagggcagaaacctgctggcgcagatccaacagctgctgagaaacgacattaagttcccgggtcaaagaatccaattgtgccaaaagagccgtcaacttgtcatcgcgggcggatgaacgggaagctgcactgcttgcaagcgggctcaggaaagcaaagtcagtcacaatcccgcgggcggtggctgcagcggctgaagcggcggcggaggctgcagtctccaacggcgttccagacacggtctcgtaggtcaaggtagtagagtttgcgggcaggacggggcgaccatcaatgctggagcccatcacattctgacgcaccccggcccatgggggcatgcgcgttgtcaaatatgagctcacaatgcttccatcaaacgagttggtgctcatggcggcggcggctgctgcaaaacagatacaaaactacataagacccccaccttatatattctttcccacccttaaccacgcccagatcctctagcagtgataaacgtctaatagtaatcaattacggggtcattagttcatagcccatatatggagttccgcgttacataacttacggtaaatggcccgcctggctgaccgcccaacgacccccgcccattgacgtcaataatgacgtatgttcccatagtaacgccaatagggactttccattgacgtcaatgggtggagtatttacggtaaactgcccacttggcagtacatcaagtgtatcatatgccaagtacgccccctattgacgtcaatgacggtaaatggcccgcctggcattatgcccagtacatgaccttatgggactttcctacttggcagtacatctacgtattagtcatcgctattaccatggtgatgcggttttggcagtacatcaatgggcgtggatagcggtttgactcacggggatttccaagtctccaccccattgacgtcaatgggagtttgttttggcaccaaaatcaacgggactttccaaaatgtcgtaacaactccgccccattgacgcaaatgggcggtaggcgtgtacggtgggaggtctatataagcagagctggtttagtgaaccgtcagatccgctagagatctggtaccgtcgacgcggccgctcgagcctaagcttctagataagatatccgatccaccggatctagataactgatcataatcagccataccacatttgtagaggttttacttgctttaaaaaacctcccacacctccccctgaacctgaaacataaaatgaatgcaattgttgt"
);
results[0].parsedSequence.sequence.length.should.equal(9237);
results[0].parsedSequence.name.should.equal('pAdTrack-CMV')
results[0].parsedSequence.description.should.equal('Shuttle vector for us in AdEasy System. For expression of transgenes under a CMV promoter when a GFP tracer is desired.')
results[0].parsedSequence.name.should.equal("pAdTrack-CMV");
results[0].parsedSequence.description.should.equal(
"Shuttle vector for us in AdEasy System. For expression of transgenes under a CMV promoter when a GFP tracer is desired."
);
// results[0].parsedSequence.name.should.equal("randomString");
done();
});
Expand Down

0 comments on commit a590278

Please sign in to comment.