chushihua
This commit is contained in:
+43
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
MIT License http://www.opensource.org/licenses/mit-license.php
|
||||
Author Tobias Koppers @sokra
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
class Entrypoint {
|
||||
constructor(name) {
|
||||
this.name = name;
|
||||
this.chunks = [];
|
||||
}
|
||||
|
||||
unshiftChunk(chunk) {
|
||||
this.chunks.unshift(chunk);
|
||||
chunk.entrypoints.push(this);
|
||||
}
|
||||
|
||||
insertChunk(chunk, before) {
|
||||
const idx = this.chunks.indexOf(before);
|
||||
if(idx >= 0) {
|
||||
this.chunks.splice(idx, 0, chunk);
|
||||
} else {
|
||||
throw new Error("before chunk not found");
|
||||
}
|
||||
chunk.entrypoints.push(this);
|
||||
}
|
||||
|
||||
getFiles() {
|
||||
const files = [];
|
||||
|
||||
for(let chunkIdx = 0; chunkIdx < this.chunks.length; chunkIdx++) {
|
||||
for(let fileIdx = 0; fileIdx < this.chunks[chunkIdx].files.length; fileIdx++) {
|
||||
if(files.indexOf(this.chunks[chunkIdx].files[fileIdx]) === -1) {
|
||||
files.push(this.chunks[chunkIdx].files[fileIdx]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Entrypoint;
|
||||
Reference in New Issue
Block a user