Skip to content

Commit

Permalink
Move jszlib dependency to util directory (#1580)
Browse files Browse the repository at this point in the history
* Move jszlib code into util

* Eliminate jszlib references
  • Loading branch information
cmdcolin authored Mar 11, 2021
1 parent 848ca08 commit 351f951
Show file tree
Hide file tree
Showing 7 changed files with 4,248 additions and 46 deletions.
62 changes: 25 additions & 37 deletions build/dojo-loader-config.js
Original file line number Diff line number Diff line change
@@ -1,56 +1,44 @@
const { findPlugins } = require("./plugin-util");

const {findPlugins} = require('./plugin-util')

module.exports = function(env) {

module.exports = function (env) {
dojoConfig = {
baseUrl: '.',
baseUrl: ".",
packages: [
{
name: 'dojo',
location: env.dojoRoot + 'dojo',
name: "dojo",
location: env.dojoRoot + "dojo",
},
{
name: 'dijit',
location: env.dojoRoot + 'dijit',
name: "dijit",
location: env.dojoRoot + "dijit",
},
{
name: 'dojox',
location: env.dojoRoot + 'dojox',
name: "dojox",
location: env.dojoRoot + "dojox",
},
{
name: 'JBrowse',
location: 'src/JBrowse',
lib: '.'
name: "JBrowse",
location: "src/JBrowse",
lib: ".",
},
{
name: 'dgrid',
location: env.dojoRoot + 'dgrid',
lib: '.'
name: "dgrid",
location: env.dojoRoot + "dgrid",
lib: ".",
},
{
name: 'dstore',
location: env.dojoRoot + 'dojo-dstore',
lib: '.'
name: "dstore",
location: env.dojoRoot + "dojo-dstore",
lib: ".",
},
{
name: 'jszlib',
location: env.dojoRoot + 'jszlib',
lib: '.'
name: "FileSaver",
location: env.dojoRoot + "filesaver.js",
lib: ".",
},
{
name: 'FileSaver',
location: env.dojoRoot + 'filesaver.js',
lib: '.'
}
]
.concat(
findPlugins('.')
)
,

async: true
}
].concat(findPlugins(".")),
async: true,
};

return dojoConfig
return dojoConfig;
};
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
"http-range-fetcher": "^1.2.1",
"imports-loader": "^0.8.0",
"jasmine-node": "^3.0.0",
"jszlib": "git+https://github.com/cmdcolin/jszlib.git#c966ceac3b283d2248764c09e07a4b268edd5032",
"node-sass": "^4.12.0",
"puppeteer": "^1.0.0",
"quick-lru": "^2.0.0",
Expand Down
4 changes: 2 additions & 2 deletions src/JBrowse/Model/BGZip/BGZBlob.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
*/
define( [
'dojo/_base/declare',
'jszlib/inflate',
'jszlib/arrayCopy'
'JBrowse/Util/jszlib',
'JBrowse/Util/arrayCopy',
],
function(
declare,
Expand Down
4 changes: 2 additions & 2 deletions src/JBrowse/Store/SeqFeature/BigWig/RequestWorker.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ define( [
'dojo/promise/all',
'JBrowse/Model/Range',
'JBrowse/Model/SimpleFeature',
'jszlib/inflate',
'jszlib/arrayCopy'
'JBrowse/Util/jszlib',
'JBrowse/Util/arrayCopy'
],
function(
declare,
Expand Down
50 changes: 50 additions & 0 deletions src/JBrowse/Util/arrayCopy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
define([], function () {
var testArray;
try {
testArray = new Uint8Array(1);
} catch (x) {}
var hasSlice = false; /* (typeof testArray.slice === 'function'); */ // Chrome slice performance is so dire that we're currently not using it...

function arrayCopy(src, srcOffset, dest, destOffset, count) {
if (count == 0) {
return;
}
if (!src) {
throw "Undef src";
} else if (!dest) {
throw "Undef dest";
}

if (srcOffset == 0 && count == src.length) {
arrayCopy_fast(src, dest, destOffset);
} else if (src.subarray) {
arrayCopy_fast(
src.subarray(srcOffset, srcOffset + count),
dest,
destOffset
);
} else if (src.BYTES_PER_ELEMENT == 1 && count > 100) {
arrayCopy_fast(
new Uint8Array(src.buffer, src.byteOffset + srcOffset, count),
dest,
destOffset
);
} else {
arrayCopy_slow(src, srcOffset, dest, destOffset, count);
}
}

function arrayCopy_slow(src, srcOffset, dest, destOffset, count) {
// dlog('_slow call: srcOffset=' + srcOffset + '; destOffset=' + destOffset + '; count=' + count);

for (var i = 0; i < count; ++i) {
dest[destOffset + i] = src[srcOffset + i];
}
}

function arrayCopy_fast(src, dest, destOffset) {
dest.set(src, destOffset);
}

return arrayCopy;
});
Loading

0 comments on commit 351f951

Please sign in to comment.